{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 使用預先訓練的卷積網絡(convnets)模型\n",
    "\n",
    "注意: 這篇文章的內容需要一些Keras的理解, 這先確認你/妳己先閱讀並練習過以下的連結內容:\n",
    "* [1.0-image-augmentation](https://github.com/erhwenkuo/deep-learning-with-keras-notebooks/blob/master/1.0-image-augmentation.ipynb)\n",
    "* [1.1-keras-functional-api](https://github.com/erhwenkuo/deep-learning-with-keras-notebooks/blob/master/1.1-keras-functional-api.ipynb)\n",
    "* [1.2-vgg16-from-scratch](https://github.com/erhwenkuo/deep-learning-with-keras-notebooks/blob/master/1.2-vgg16-from-scratch.ipynb)\n",
    "* [1.4-small-datasets-image-augmentation](https://github.com/erhwenkuo/deep-learning-with-keras-notebooks/blob/master/1.4-small-datasets-image-augmentation.ipynb)\n",
    "\n",
    "\n",
    "在小圖像數據集上進行深度學習的一種常見和高效的方法是利用預先訓練好的網絡模型。預先訓練好的網絡模型只是一個先前在大型數據集上訓練過後保存下來的網絡模型，通常是進行了大規模的圖像分類任務。\n",
    "\n",
    "如果這個原始數據集足夠大且足夠普遍，那麼由訓練有素的網絡學習到的空間特徵層次可以有效地作為我們視覺世界的通用模型，因此其特徵可以證明對許多不同的電腦視覺問題是有用的，甚至儘管這些新問題可能涉及與原始任務完全不同的類型。\n",
    "\n",
    "例如，可以在ImageNet上訓練一個網絡（其中圖像類別主要是動物和日常用品），然後重新使用這個訓練有素的網絡模型，以便識別圖像中的家具。與許多較舊的淺層學習方法相比，不同問題的學習特徵的這種可移植性是深度學習的一個主要優點，它使深度學習對於小數據圖像數據問題非常有效。\n",
    "\n",
    "在我們的範例中，我們將使用在ImageNet數據集（140萬個標記的圖像和1000個不同的類別）上己經預訓練好的卷積網絡(convnets)模型。 ImageNet包含許多動物類別，包括不同種類的貓和狗，我們可以期望在我們的貓與狗分類問題上表現非常好。\n",
    "\n",
    "我們將使用由克倫·西蒙尼（Karen Simonyan）和安德魯·齊斯曼（Andrew Zisserman）於2014年開發的VGG16架構，這是一種簡單而廣泛使用的ImageNet架構。雖然它是一個比較舊的模型(現在有許多更先進的卷積網絡模型)，同時VGG16也可能比其新近的模型還要肥重，但是我們選擇它是因為它的架構與你已經熟悉的類似，並且容易理解而且不需要引入任何新概念。\n",
    "\n",
    "這可能是你第一次看到以下的名詞 -  VGG，ResNet，Inception，Inception-ResNet，Xception ...但你會習慣它們，因為如果你繼續深入學習電腦影像視覺的領域，它們會經常出現在你面前。\n",
    "\n",
    "有兩種方法可以用來利用預先訓練的網絡模型：*特徵提取 (feature extraction)*和*微調(fine-tuning)*。我們將包括了這兩個層面。首先我們從特徵提取開始。\n",
    "\n",
    "![transfer-learning](https://elearningindustry.com/wp-content/uploads/2016/09/5-tips-improve-knowledge-transfer-elearning-e1475138920743.jpeg)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Platform: Windows-10-10.0.15063-SP0\n",
      "Tensorflow version: 1.4.0\n",
      "Keras version: 2.0.9\n"
     ]
    }
   ],
   "source": [
    "# 這個Jupyter Notebook的環境\n",
    "import platform\n",
    "import tensorflow\n",
    "import keras\n",
    "print(\"Platform: {}\".format(platform.platform()))\n",
    "print(\"Tensorflow version: {}\".format(tensorflow.__version__))\n",
    "print(\"Keras version: {}\".format(keras.__version__))\n",
    "\n",
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.image as mpimg\n",
    "import numpy as np\n",
    "from IPython.display import Image"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 資料集說明\n",
    "\n",
    "我們將使用的數據集(貓與狗的圖片集)沒有被包裝Keras包裝發佈, 因此要自行另外下載。Kaggle.com在2013年底提供了這些數據來作為電腦視覺競賽題目。您可以從以下連結下載原始數據集：`https://www.kaggle.com/c/dogs-vs-cats/data`\n",
    "\n",
    "圖片是中等解析度的彩色JPEG檔。他們看起來像這樣：\n",
    "\n",
    "![cats_vs_dogs_samples](https://s3.amazonaws.com/book.keras.io/img/ch5/cats_vs_dogs_samples.jpg)\n",
    "\n",
    "該原始數據集包含25,000張狗和貓的圖像（每個類別12,500個），大小為543MB（壓縮）。下載和解壓縮後，我們將創建一個包含三個子集的新數據集：一組包含每個類的1000個樣本的訓練集，每組500個樣本的驗證集，最後一個包含每個類的500個樣本的測試集。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 資料準備\n",
    "\n",
    "1. 從[Kaggle](https://www.kaggle.com/c/dogs-vs-cats/data)點擊`Download`下載圖像資料檔`training.zip`。\n",
    "2. 在這個Jupyter Notebook所在的目錄下產生一個新的子目錄\"data\"。\n",
    "3. 把從kaggle下載的資料檔複製到\"data\"的目錄裡頭。\n",
    "4. 將`train.zip`解壓縮\n",
    "  \n",
    "最後你的目錄結構看起來像這樣:\n",
    "```\n",
    "xx-yyy.ipynb\n",
    "data/\n",
    "└── train/\n",
    "    ├── cat.0.jpg\n",
    "    ├── cat.1.jpg\n",
    "    ├── ..\n",
    "    └── dog.12499.jpg\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Copy first 1000 cat images to train_cats_dir complete!\n",
      "Copy next 500 cat images to validation_cats_dir complete!\n",
      "Copy next 500 cat images to test_cats_dir complete!\n",
      "Copy first 1000 dog images to train_dogs_dir complete!\n",
      "Copy next 500 dog images to validation_dogs_dir complete!\n",
      "Copy next 500 dog images to test_dogs_dir complete!\n"
     ]
    }
   ],
   "source": [
    "import os, shutil\n",
    "\n",
    "# 專案的根目錄路徑\n",
    "ROOT_DIR = os.getcwd()\n",
    "\n",
    "# 置放coco圖像資料與標註資料的目錄\n",
    "DATA_PATH = os.path.join(ROOT_DIR, \"data\")\n",
    "\n",
    "# 原始數據集的路徑\n",
    "original_dataset_dir = os.path.join(DATA_PATH, \"train\")\n",
    "\n",
    "# 存儲小數據集的目錄\n",
    "base_dir = os.path.join(DATA_PATH, \"cats_and_dogs_small\")\n",
    "if not os.path.exists(base_dir): \n",
    "    os.mkdir(base_dir)\n",
    "\n",
    "# 我們的訓練資料的目錄\n",
    "train_dir = os.path.join(base_dir, 'train')\n",
    "if not os.path.exists(train_dir): \n",
    "    os.mkdir(train_dir)\n",
    "\n",
    "# 我們的驗證資料的目錄\n",
    "validation_dir = os.path.join(base_dir, 'validation')\n",
    "if not os.path.exists(validation_dir): \n",
    "    os.mkdir(validation_dir)\n",
    "\n",
    "# 我們的測試資料的目錄\n",
    "test_dir = os.path.join(base_dir, 'test')\n",
    "if not os.path.exists(test_dir):\n",
    "    os.mkdir(test_dir)    \n",
    "\n",
    "# 貓的圖片的訓練資料目錄\n",
    "train_cats_dir = os.path.join(train_dir, 'cats')\n",
    "if not os.path.exists(train_cats_dir):\n",
    "    os.mkdir(train_cats_dir)\n",
    "\n",
    "# 狗的圖片的訓練資料目錄\n",
    "train_dogs_dir = os.path.join(train_dir, 'dogs')\n",
    "if not os.path.exists(train_dogs_dir):\n",
    "    os.mkdir(train_dogs_dir)\n",
    "\n",
    "# 貓的圖片的驗證資料目錄\n",
    "validation_cats_dir = os.path.join(validation_dir, 'cats')\n",
    "if not os.path.exists(validation_cats_dir):\n",
    "    os.mkdir(validation_cats_dir)\n",
    "\n",
    "# 狗的圖片的驗證資料目錄\n",
    "validation_dogs_dir = os.path.join(validation_dir, 'dogs')\n",
    "if not os.path.exists(validation_dogs_dir):\n",
    "    os.mkdir(validation_dogs_dir)\n",
    "\n",
    "# 貓的圖片的測試資料目錄\n",
    "test_cats_dir = os.path.join(test_dir, 'cats')\n",
    "if not os.path.exists(test_cats_dir):\n",
    "    os.mkdir(test_cats_dir)\n",
    "\n",
    "# 狗的圖片的測試資料目錄\n",
    "test_dogs_dir = os.path.join(test_dir, 'dogs')\n",
    "if not os.path.exists(test_dogs_dir):\n",
    "    os.mkdir(test_dogs_dir)\n",
    "    \n",
    "# 複製前1000個貓的圖片到train_cats_dir\n",
    "fnames = ['cat.{}.jpg'.format(i) for i in range(1000)]\n",
    "for fname in fnames:\n",
    "    src = os.path.join(original_dataset_dir, fname)\n",
    "    dst = os.path.join(train_cats_dir, fname)\n",
    "    if not os.path.exists(dst):\n",
    "        shutil.copyfile(src, dst)\n",
    "\n",
    "print('Copy first 1000 cat images to train_cats_dir complete!')\n",
    "\n",
    "# 複製下500個貓的圖片到validation_cats_dir\n",
    "fnames = ['cat.{}.jpg'.format(i) for i in range(1000, 1500)]\n",
    "for fname in fnames:\n",
    "    src = os.path.join(original_dataset_dir, fname)\n",
    "    dst = os.path.join(validation_cats_dir, fname)\n",
    "    if not os.path.exists(dst):\n",
    "        shutil.copyfile(src, dst)\n",
    "\n",
    "print('Copy next 500 cat images to validation_cats_dir complete!')\n",
    "\n",
    "# 複製下500個貓的圖片到test_cats_dir\n",
    "fnames = ['cat.{}.jpg'.format(i) for i in range(1500, 2000)]\n",
    "for fname in fnames:\n",
    "    src = os.path.join(original_dataset_dir, fname)\n",
    "    dst = os.path.join(test_cats_dir, fname)\n",
    "    if not os.path.exists(dst):\n",
    "        shutil.copyfile(src, dst)\n",
    "\n",
    "print('Copy next 500 cat images to test_cats_dir complete!')\n",
    "\n",
    "# 複製前1000個狗的圖片到train_dogs_dir\n",
    "fnames = ['dog.{}.jpg'.format(i) for i in range(1000)]\n",
    "for fname in fnames:\n",
    "    src = os.path.join(original_dataset_dir, fname)\n",
    "    dst = os.path.join(train_dogs_dir, fname)\n",
    "    if not os.path.exists(dst):\n",
    "        shutil.copyfile(src, dst)\n",
    "\n",
    "print('Copy first 1000 dog images to train_dogs_dir complete!')\n",
    "\n",
    "\n",
    "# 複製下500個狗的圖片到validation_dogs_dir\n",
    "fnames = ['dog.{}.jpg'.format(i) for i in range(1000, 1500)]\n",
    "for fname in fnames:\n",
    "    src = os.path.join(original_dataset_dir, fname)\n",
    "    dst = os.path.join(validation_dogs_dir, fname)\n",
    "    if not os.path.exists(dst):\n",
    "        shutil.copyfile(src, dst)\n",
    "\n",
    "print('Copy next 500 dog images to validation_dogs_dir complete!')\n",
    "\n",
    "# C複製下500個狗的圖片到test_dogs_dir\n",
    "fnames = ['dog.{}.jpg'.format(i) for i in range(1500, 2000)]\n",
    "for fname in fnames:\n",
    "    src = os.path.join(original_dataset_dir, fname)\n",
    "    dst = os.path.join(test_dogs_dir, fname)\n",
    "    if not os.path.exists(dst):\n",
    "        shutil.copyfile(src, dst)\n",
    "    \n",
    "print('Copy next 500 dog images to test_dogs_dir complete!')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "作為一個健康檢查，讓我們計算每次訓練分組中有多少張照片（訓練/驗證/測試）:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "total training cat images: 1000\n",
      "total training dog images: 1000\n",
      "total validation cat images: 500\n",
      "total validation dog images: 500\n",
      "total test cat images: 500\n",
      "total test dog images: 500\n"
     ]
    }
   ],
   "source": [
    "print('total training cat images:', len(os.listdir(train_cats_dir)))\n",
    "print('total training dog images:', len(os.listdir(train_dogs_dir)))\n",
    "print('total validation cat images:', len(os.listdir(validation_cats_dir)))\n",
    "print('total validation dog images:', len(os.listdir(validation_dogs_dir)))\n",
    "print('total test cat images:', len(os.listdir(test_cats_dir)))\n",
    "print('total test dog images:', len(os.listdir(test_dogs_dir)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "所以我們確實有2000個訓練圖像，然後是1000個驗證圖像和1000個測試圖像。在每個資料分割(split)中，每個分類都有相同數量的樣本：這是一個平衡的二元分類問題，這意味著分類準確度將成為適當的度量。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 特徵提取 (feature extraction)\n",
    "\n",
    "特徵提取包括了使用預訓練好的網絡模型來從新樣本中提取特徵。這些特徵通過一個\"新\"的分類器(從頭開始訓練)。\n",
    "\n",
    "如前所述，用於圖像分類的卷積網絡(convnets)架構包括了兩大部分：它們以一系列卷積和池化層開始，並且以密集連接(densely-connected)的分類器結束。第一部分稱為模型的“卷積基底”。在卷積網絡裡，“特徵提取”將簡單地包括先前訓練過的網絡的“卷積基底”，通過它重新餵入新的數據，並且根據這個“卷積基底”的輸出之後再接續訓練一個新的分類器。\n",
    "\n",
    "![swapping FC classifiers](https://s3.amazonaws.com/book.keras.io/img/ch5/swapping_fc_classifier.png)\n",
    "\n",
    "\n",
    "為什麼只重用“卷積基底”? 我們可以重用密集連接(densely-connected)的分類器嗎? 一般來說，應該避免。原因是簡單地說，“卷積基底”學習的特徵可能是更通用的，因此更可重複使用：一個卷積網絡的特徵圖(feature maps)是一個通用概念對應到圖片的映射。 另一方面，由分類器學習的特徵將非常特定於模型被訓練的類別的集合 - 它們將僅包含關於整個圖片中該類或該類的存在機率的訊息。\n",
    "\n",
    "此外，在密集連接的層中發現的表示(representation)不再包含有關\"空間/位置\"位於輸入圖像中的任何信息：這些層己經擺脫了空間的概念。對於物件位置重要且敏感的問題，密集連接層的功能將在很大程度上是無法重覆利用的。\n",
    "\n",
    "注意，由特定卷積層提取的表示(representation)的一般性（因此可重用性）的級別取決於模型中神經層的深度。在模型中較早的層提取局部，高度通用的特徵圖（如視覺邊緣，顏色和紋理），而較高層則提取更多的抽象概念（如“貓耳朵”或“狗眼”）。因此，如果您的新數據集與原始模型被訓練的數據集有很大的不同，那麼您最好只使用模型的前幾個層進行特徵提取，而不是使用整個“卷積基底”。\n",
    "\n",
    "\n",
    "在我們的範例中，由於ImageNet類集合包含多個dog和cat類，所以重用包含在原始模型密集連接層中的信息很有可能是有益的。但是，為了覆蓋更多的一般情況，我們將不會選擇使用原始模型密集連接層, 因為新的問題的類別集與原始模型的類別集並沒有重疊。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "讓我們通過使用在ImageNet上訓練的VGG16網絡的“卷積基底”來應用在我們的貓和狗圖像中提取特徵，然後在這些特徵之上訓練一個貓與狗分類器。\n",
    "\n",
    "VGG16模型與Keras己經預先包裝在一起分佈。你可以從`keras.applications`模組導入。以下是可用作`keras.applications`一部分的圖像分類預訓練的模型列表（均在ImageNet數據集上預先訓練過了）:\n",
    "\n",
    "* Xception\n",
    "* InceptionV3\n",
    "* ResNet50\n",
    "* VGG16\n",
    "* VGG19\n",
    "* MobileNet\n",
    "\n",
    "我們來實例化一個VGG16模型："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from keras.applications import VGG16\n",
    "\n",
    "conv_base = VGG16(weights='imagenet',\n",
    "                  include_top=False, # 在這裡告訴 keras我們只需要卷積基底的權重模型資訊\n",
    "                  input_shape=(150, 150, 3)) # 宣告我們要處理的圖像大小與顏色通道數"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我們向構造函數傳遞了三個參數：\n",
    "\n",
    "* `weights`, 指定從哪個權重檢查點從中初始化模型\n",
    "* `include_top`, 這是指在網絡頂部要包括或不包含密集連接的分類器。默認情況下，這個密集連接的分類器將對應於ImageNet的1000個類別。因為我們打算用自己建構的分類器（只有兩個類別，貓和狗），因此我們不需要包括它。\n",
    "* `input_shape`, 我們將餵進到網絡的圖像張量的形狀(shape)。這個參數純粹是可選的：如果我們設定，那麼網絡將能夠處理任何大小的輸入。\n",
    "\n",
    "以下是VGG16“卷積基底”架構的細節：它與您已經熟悉的簡單卷積網絡(convnets)非常相似。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "input_1 (InputLayer)         (None, 150, 150, 3)       0         \n",
      "_________________________________________________________________\n",
      "block1_conv1 (Conv2D)        (None, 150, 150, 64)      1792      \n",
      "_________________________________________________________________\n",
      "block1_conv2 (Conv2D)        (None, 150, 150, 64)      36928     \n",
      "_________________________________________________________________\n",
      "block1_pool (MaxPooling2D)   (None, 75, 75, 64)        0         \n",
      "_________________________________________________________________\n",
      "block2_conv1 (Conv2D)        (None, 75, 75, 128)       73856     \n",
      "_________________________________________________________________\n",
      "block2_conv2 (Conv2D)        (None, 75, 75, 128)       147584    \n",
      "_________________________________________________________________\n",
      "block2_pool (MaxPooling2D)   (None, 37, 37, 128)       0         \n",
      "_________________________________________________________________\n",
      "block3_conv1 (Conv2D)        (None, 37, 37, 256)       295168    \n",
      "_________________________________________________________________\n",
      "block3_conv2 (Conv2D)        (None, 37, 37, 256)       590080    \n",
      "_________________________________________________________________\n",
      "block3_conv3 (Conv2D)        (None, 37, 37, 256)       590080    \n",
      "_________________________________________________________________\n",
      "block3_pool (MaxPooling2D)   (None, 18, 18, 256)       0         \n",
      "_________________________________________________________________\n",
      "block4_conv1 (Conv2D)        (None, 18, 18, 512)       1180160   \n",
      "_________________________________________________________________\n",
      "block4_conv2 (Conv2D)        (None, 18, 18, 512)       2359808   \n",
      "_________________________________________________________________\n",
      "block4_conv3 (Conv2D)        (None, 18, 18, 512)       2359808   \n",
      "_________________________________________________________________\n",
      "block4_pool (MaxPooling2D)   (None, 9, 9, 512)         0         \n",
      "_________________________________________________________________\n",
      "block5_conv1 (Conv2D)        (None, 9, 9, 512)         2359808   \n",
      "_________________________________________________________________\n",
      "block5_conv2 (Conv2D)        (None, 9, 9, 512)         2359808   \n",
      "_________________________________________________________________\n",
      "block5_conv3 (Conv2D)        (None, 9, 9, 512)         2359808   \n",
      "_________________________________________________________________\n",
      "block5_pool (MaxPooling2D)   (None, 4, 4, 512)         0         \n",
      "=================================================================\n",
      "Total params: 14,714,688\n",
      "Trainable params: 14,714,688\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "conv_base.summary() # 打印一下模型資訊"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "最後的特徵圖具有形狀`（4，4，512）`。這是我們將連結到自己的密集連結(densely-connected)分類器的輪入張量。\n",
    "\n",
    "在這節骨眼上，我們有兩種方法可以進行：\n",
    "\n",
    "1 在我們的數據集上運行“卷積基底”，將其輸出以Numpy陣列的型式記錄到磁盤上，然後將此數據作為獨立密集分類器(densely-connected classifier)的輸入。這種解決方案非常快速且簡單，因為它只需要為每個輸入圖像運行一次的“卷積基底”，而“卷積基底”是迄今為止管道中最昂貴的部分。然而，由於基於相同的原因，這種作法也不能讓我們去使用數據增加(data augmentation)的手法。\n",
    "\n",
    "2 通過在己經訓練好的模型頂端繼續添加`Dense`層，擴展我們擁有的模型（`conv_base`），並在輸入數據上端對端地運行整個數據的輪入。這樣的作法允許我們使用數據增加(data augmentation)，因為每次輸入圖像每次被模型看到時都會經過“卷積基底”。然而，這種技術比第一種技術要花更多的計算與訓練時間。\n",
    "\n",
    "我們將涵蓋這兩種技術的做法。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 方法1: 卷積基底:提取特徴 + 串接新的密集分類層:重新訓練\n",
    "\n",
    "我們來看看設置第一種方法所需的程式碼：在我們的數據上記錄“conv_base”的輸出，並使用這些輸出作為新模型的輸入。\n",
    "\n",
    "我們將首先簡單地運行以前介紹的“ImageDataGenerator”的實例，以將圖像提取為Numpy數組及其標籤。我們將通過調用`conv_base`模型的`predict`方法從這些圖像中提取特徵。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 移花"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Found 2000 images belonging to 2 classes.\n",
      "extract_features complete!\n",
      "Found 1000 images belonging to 2 classes.\n",
      "extract_features complete!\n",
      "Found 1000 images belonging to 2 classes.\n",
      "extract_features complete!\n"
     ]
    }
   ],
   "source": [
    "##特徵提取\n",
    "\n",
    "import os\n",
    "import numpy as np\n",
    "from keras.preprocessing.image import ImageDataGenerator\n",
    "\n",
    "# base_dir = 'data/5_1/cats_and_dogs_small'\n",
    "# train_dir = os.path.join(base_dir, 'train')\n",
    "# validation_dir = os.path.join(base_dir, 'validation')\n",
    "# test_dir = os.path.join(base_dir, 'test')\n",
    "\n",
    "datagen = ImageDataGenerator(rescale=1./255) # 產生一個\"圖像資料產生器\"物件\n",
    "\n",
    "batch_size = 20 # 設定每次產生的圖像的數據批量\n",
    "\n",
    "# 提取圖像特徵\n",
    "def extract_features(directory, sample_count): # 影像的目錄, 要處理的圖像數\n",
    "    features = np.zeros(shape=(sample_count, 4, 4, 512)) # 根據VGG16(卷積基底)的最後一層的輪出張量規格\n",
    "    labels = np.zeros(shape=(sample_count)) # 要處理的圖像數\n",
    "    \n",
    "    # 產生一個\"圖像資料產生器\"實例(資料是在檔案目錄中), 每呼叫它一次, 它會吐出特定批次數的圖像資料\n",
    "    generator = datagen.flow_from_directory(\n",
    "        directory,\n",
    "        target_size=(150, 150),  # 設定圖像的高(height)與寬(width)\n",
    "        batch_size=batch_size,   # 設定每次產生的圖像的數據批量\n",
    "        class_mode='binary')     # 因為我們的目標資料集只有兩類(cat & dog)\n",
    "    \n",
    "    # 讓我們把訓練資料集所有的圖像都跑過一次\n",
    "    i = 0\n",
    "    for inputs_batch, labels_batch in generator:\n",
    "        features_batch = conv_base.predict(inputs_batch) # 透過“卷積基底”來淬取圖像特徵\n",
    "        features[i * batch_size : (i + 1) * batch_size] = features_batch # 把特徴先存放起來\n",
    "        labels[i * batch_size : (i + 1) * batch_size] = labels_batch #把標籤先存放起來\n",
    "        i += 1\n",
    "        if i * batch_size >= sample_count:\n",
    "            # Note that since generators yield data indefinitely in a loop,\n",
    "            # we must `break` after every image has been seen once.\n",
    "            break\n",
    "    \n",
    "    print('extract_features complete!')\n",
    "    return features, labels\n",
    "\n",
    "train_features, train_labels = extract_features(train_dir, 2000) # 訓練資料的圖像特徵淬取\n",
    "validation_features, validation_labels = extract_features(validation_dir, 1000) # 驗證資料的圖像特徵淬取\n",
    "test_features, test_labels = extract_features(test_dir, 1000) # 測試資料的圖像特徵淬取"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "提取的特徵當前是`（樣本數，4，4，512）`的形狀。我們將它們餵給一個密集連接(densely-connected)的分類器，所以首先我們必須把它們壓扁(flatten)成`（樣本數, 8192）`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "train_features = np.reshape(train_features, (2000, 4 * 4 * 512))\n",
    "validation_features = np.reshape(validation_features, (1000, 4 * 4 * 512))\n",
    "test_features = np.reshape(test_features, (1000, 4 * 4 * 512))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 接木\n",
    "\n",
    "在這個時間點上，我們可以定義我們密集連接(densely-connected)的分類器（注意使用dropout來進行正規化），並對我們剛剛記錄的數據和標籤進行訓練："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 2000 samples, validate on 1000 samples\n",
      "Epoch 1/30\n",
      "2000/2000 [==============================] - 2s 852us/step - loss: 0.6040 - acc: 0.6705 - val_loss: 0.4466 - val_acc: 0.8080\n",
      "Epoch 2/30\n",
      "2000/2000 [==============================] - 1s 477us/step - loss: 0.4210 - acc: 0.8090 - val_loss: 0.3639 - val_acc: 0.8570\n",
      "Epoch 3/30\n",
      "2000/2000 [==============================] - 2s 789us/step - loss: 0.3611 - acc: 0.8455 - val_loss: 0.3252 - val_acc: 0.8720\n",
      "Epoch 4/30\n",
      "2000/2000 [==============================] - 1s 672us/step - loss: 0.3174 - acc: 0.8665 - val_loss: 0.3014 - val_acc: 0.8850\n",
      "Epoch 5/30\n",
      "2000/2000 [==============================] - 1s 516us/step - loss: 0.2783 - acc: 0.8925 - val_loss: 0.2945 - val_acc: 0.8840\n",
      "Epoch 6/30\n",
      "2000/2000 [==============================] - 1s 680us/step - loss: 0.2676 - acc: 0.8970 - val_loss: 0.2751 - val_acc: 0.8980\n",
      "Epoch 7/30\n",
      "2000/2000 [==============================] - 1s 719us/step - loss: 0.2462 - acc: 0.9025 - val_loss: 0.2650 - val_acc: 0.9010\n",
      "Epoch 8/30\n",
      "2000/2000 [==============================] - 1s 727us/step - loss: 0.2345 - acc: 0.9140 - val_loss: 0.2586 - val_acc: 0.8990\n",
      "Epoch 9/30\n",
      "2000/2000 [==============================] - 1s 594us/step - loss: 0.2195 - acc: 0.9175 - val_loss: 0.2552 - val_acc: 0.9020\n",
      "Epoch 10/30\n",
      "2000/2000 [==============================] - 1s 664us/step - loss: 0.2135 - acc: 0.9175 - val_loss: 0.2563 - val_acc: 0.9000\n",
      "Epoch 11/30\n",
      "2000/2000 [==============================] - 1s 672us/step - loss: 0.1974 - acc: 0.9255 - val_loss: 0.2447 - val_acc: 0.9060\n",
      "Epoch 12/30\n",
      "2000/2000 [==============================] - 1s 656us/step - loss: 0.1915 - acc: 0.9270 - val_loss: 0.2455 - val_acc: 0.9050\n",
      "Epoch 13/30\n",
      "2000/2000 [==============================] - 1s 695us/step - loss: 0.1789 - acc: 0.9345 - val_loss: 0.2424 - val_acc: 0.9070\n",
      "Epoch 14/30\n",
      "2000/2000 [==============================] - 1s 594us/step - loss: 0.1671 - acc: 0.9355 - val_loss: 0.2407 - val_acc: 0.9030\n",
      "Epoch 15/30\n",
      "2000/2000 [==============================] - 1s 578us/step - loss: 0.1656 - acc: 0.9405 - val_loss: 0.2376 - val_acc: 0.9070\n",
      "Epoch 16/30\n",
      "2000/2000 [==============================] - 1s 633us/step - loss: 0.1613 - acc: 0.9440 - val_loss: 0.2370 - val_acc: 0.9070\n",
      "Epoch 17/30\n",
      "2000/2000 [==============================] - 1s 672us/step - loss: 0.1572 - acc: 0.9410 - val_loss: 0.2348 - val_acc: 0.9100\n",
      "Epoch 18/30\n",
      "2000/2000 [==============================] - 1s 633us/step - loss: 0.1429 - acc: 0.9495 - val_loss: 0.2352 - val_acc: 0.9060\n",
      "Epoch 19/30\n",
      "2000/2000 [==============================] - 1s 641us/step - loss: 0.1379 - acc: 0.9510 - val_loss: 0.2337 - val_acc: 0.9080\n",
      "Epoch 20/30\n",
      "2000/2000 [==============================] - 2s 773us/step - loss: 0.1361 - acc: 0.9545 - val_loss: 0.2330 - val_acc: 0.9080\n",
      "Epoch 21/30\n",
      "2000/2000 [==============================] - 1s 609us/step - loss: 0.1321 - acc: 0.9530 - val_loss: 0.2452 - val_acc: 0.8930\n",
      "Epoch 22/30\n",
      "2000/2000 [==============================] - 1s 711us/step - loss: 0.1250 - acc: 0.9565 - val_loss: 0.2401 - val_acc: 0.8970\n",
      "Epoch 23/30\n",
      "2000/2000 [==============================] - 1s 664us/step - loss: 0.1201 - acc: 0.9600 - val_loss: 0.2459 - val_acc: 0.8940\n",
      "Epoch 24/30\n",
      "2000/2000 [==============================] - 1s 734us/step - loss: 0.1170 - acc: 0.9600 - val_loss: 0.2400 - val_acc: 0.9000\n",
      "Epoch 25/30\n",
      "2000/2000 [==============================] - 1s 633us/step - loss: 0.1110 - acc: 0.9665 - val_loss: 0.2387 - val_acc: 0.9030\n",
      "Epoch 26/30\n",
      "2000/2000 [==============================] - 1s 633us/step - loss: 0.1018 - acc: 0.9650 - val_loss: 0.2359 - val_acc: 0.9040\n",
      "Epoch 27/30\n",
      "2000/2000 [==============================] - 1s 711us/step - loss: 0.1044 - acc: 0.9645 - val_loss: 0.2333 - val_acc: 0.9090\n",
      "Epoch 28/30\n",
      "2000/2000 [==============================] - 1s 711us/step - loss: 0.0955 - acc: 0.9710 - val_loss: 0.2345 - val_acc: 0.9070\n",
      "Epoch 29/30\n",
      "2000/2000 [==============================] - 1s 672us/step - loss: 0.0917 - acc: 0.9710 - val_loss: 0.2366 - val_acc: 0.9050\n",
      "Epoch 30/30\n",
      "2000/2000 [==============================] - 1s 719us/step - loss: 0.0908 - acc: 0.9715 - val_loss: 0.2348 - val_acc: 0.9060\n"
     ]
    }
   ],
   "source": [
    "from keras import models\n",
    "from keras import layers\n",
    "from keras import optimizers\n",
    "\n",
    "# 產生一個新的密集連接層來做為分類器\n",
    "model = models.Sequential()\n",
    "model.add(layers.Dense(256, activation='relu', input_dim=4 * 4 * 512))\n",
    "model.add(layers.Dropout(0.5))\n",
    "model.add(layers.Dense(1, activation='sigmoid')) # 因為我的資料集只有兩類(cat & dog)\n",
    "\n",
    "model.compile(optimizer=optimizers.RMSprop(lr=2e-5),\n",
    "              loss='binary_crossentropy',\n",
    "              metrics=['acc'])\n",
    "\n",
    "# 把透過預處理的卷積基底所提取的特徵做為input來進行訓練\n",
    "history = model.fit(train_features, train_labels,\n",
    "                    epochs=30,\n",
    "                    batch_size=20,\n",
    "                    validation_data=(validation_features, validation_labels))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "訓練非常快，因為我們只需要處理兩個`Dense`層：即使在CPU上，每個訓練循環(epoch)也需要不到一秒的時間。\n",
    "\n",
    "讓我們來看看訓練過程中的損失(loss)和精準度(accuracy):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2926a8cb908>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nof8PvncpMLmHD4sAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2926ed70048>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "acc = history.history['acc']\n",
    "val_acc = history.history['val_acc']\n",
    "loss = history.history['loss']\n",
    "val_loss = history.history['val_loss']\n",
    "\n",
    "epochs = range(len(acc))\n",
    "\n",
    "plt.plot(epochs, acc, label='Training acc')\n",
    "plt.plot(epochs, val_acc, label='Validation acc')\n",
    "plt.title('Training and validation accuracy')\n",
    "plt.legend()\n",
    "\n",
    "plt.figure()\n",
    "\n",
    "plt.plot(epochs, loss, label='Training loss')\n",
    "plt.plot(epochs, val_loss, label='Validation loss')\n",
    "plt.title('Training and validation loss')\n",
    "plt.legend()\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我們的驗證準確率達到了90%左右，遠遠優於[1.4-small-datasets-image-augmentation](https://github.com/erhwenkuo/deep-learning-with-keras-notebooks/blob/master/1.4-small-datasets-image-augmentation.ipynb)那個從頭開始訓練起的小型模型。然而，我們的圖表也也表明，我們幾乎從一開始就過度擬合(overfitting)了，儘管我們使用了相當大的Dropout。\n",
    "\n",
    "這是因為這種技術不需用到數據擴充(對於防止用小圖像數據集過度擬合是很重要的)。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 方法2: (卷積基底:凍結 + 串接新的密集分類層) >> 重新訓練"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "現在，我們來回顧一下我們提到的第二種特徵提取技術，這種方法要慢得多，而且會花更多的時間與計算資源，但是我們可以在訓練過程中利用數據擴充(data augmentation): 擴展`conv_base`模型，並進行端(end)對端(end)的訓練。\n",
    "\n",
    "請注意，這種手法真的是非常昂貴的，所以只有在你有GPU時才應該嘗試它：在CPU上是絕對棘手的。如果您無法在GPU上運行代碼，那麼前一個手法就是你要選的路。\n",
    "\n",
    "因為模型的行為就像堆積木，所以你可以添加一個模型（像我們的`conv_base`）到`Sequential`模型，就像添加一個圖層一樣。所以你可以執行以下操作："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 移花+接木"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "from keras import models\n",
    "from keras import layers\n",
    "\n",
    "model = models.Sequential() # 產生一個新的網絡模型結構\n",
    "model.add(conv_base)        # 把預訓練的卷積基底疊上去\n",
    "model.add(layers.Flatten()) # 打平\n",
    "model.add(layers.Dense(256, activation='relu'))  # 疊上新的密集連接層來做為分類器\n",
    "model.add(layers.Dense(1, activation='sigmoid')) # 因為我的資料集只有兩類(cat & dog)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "這是我們現在的模型："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "vgg16 (Model)                (None, 4, 4, 512)         14714688  \n",
      "_________________________________________________________________\n",
      "flatten_1 (Flatten)          (None, 8192)              0         \n",
      "_________________________________________________________________\n",
      "dense_3 (Dense)              (None, 256)               2097408   \n",
      "_________________________________________________________________\n",
      "dense_4 (Dense)              (None, 1)                 257       \n",
      "=================================================================\n",
      "Total params: 16,812,353\n",
      "Trainable params: 16,812,353\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "model.summary()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "如您所見，VGG16的“卷積基底”有14,714,688個參數，這非常大。我們上面添加的分類器有200萬個參數。\n",
    "\n",
    "在編譯和訓練我們的模型之前，一個非常重要的事情是凍結“卷積基底”。 “凍結”一層或多層圖層意味著在訓練期間防止其權重被更新。如果我們不這樣做，那麼以前在“卷積基底”上學到的特徵將在訓練期間被修改。由於頂層的`Dense`層會被隨機初始化，因此非常大的權重更新將通過網絡重新進行傳播， 也會破壞以前學習的結果。\n",
    "\n",
    "在Keras中，通過將它的`trainable`屬性設置為`False`來凍結網絡:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "This is the number of trainable weights before freezing the conv base: 30\n"
     ]
    }
   ],
   "source": [
    "# 看一下“凍結前”有多少可以被訓練的權重\n",
    "print('This is the number of trainable weights '\n",
    "      'before freezing the conv base:', len(model.trainable_weights))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# “凍結”卷積基底\n",
    "conv_base.trainable = False"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "This is the number of trainable weights after freezing the conv base: 4\n"
     ]
    }
   ],
   "source": [
    "# 再看一下“凍結後”有多少可以被訓練的權重\n",
    "print('This is the number of trainable weights '\n",
    "      'after freezing the conv base:', len(model.trainable_weights))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通過這種設置，只有來自我們添加的兩個`Dense`層的權重將被訓練。這是總共有四個權重的張量：每層兩個（主要權重矩陣和偏差向量）。請注意，為了使這些更改生效，我們必須首先編譯模型。\n",
    "\n",
    "如果您在編譯後修改了權重可訓練性，那麼應該重新編譯模型，否則這些更改將被忽略。\n",
    "\n",
    "現在我們可以開始訓練我們的模型，使用與我們前面的例子中使用相同的數據增強配置："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Found 2000 images belonging to 2 classes.\n",
      "Found 1000 images belonging to 2 classes.\n",
      "Epoch 1/30\n",
      " - 16s - loss: 0.5407 - acc: 0.7220 - val_loss: 0.2433 - val_acc: 0.8990\n",
      "Epoch 2/30\n",
      " - 15s - loss: 0.3313 - acc: 0.8595 - val_loss: 0.1717 - val_acc: 0.9310\n",
      "Epoch 3/30\n",
      " - 15s - loss: 0.2276 - acc: 0.9095 - val_loss: 0.1730 - val_acc: 0.9240\n",
      "Epoch 4/30\n",
      " - 15s - loss: 0.1963 - acc: 0.9230 - val_loss: 0.2550 - val_acc: 0.8830\n",
      "Epoch 5/30\n",
      " - 16s - loss: 0.1813 - acc: 0.9220 - val_loss: 0.1251 - val_acc: 0.9470\n",
      "Epoch 6/30\n",
      " - 15s - loss: 0.1505 - acc: 0.9370 - val_loss: 0.1134 - val_acc: 0.9490\n",
      "Epoch 7/30\n",
      " - 15s - loss: 0.1233 - acc: 0.9535 - val_loss: 0.1245 - val_acc: 0.9510\n",
      "Epoch 8/30\n",
      " - 15s - loss: 0.1110 - acc: 0.9565 - val_loss: 0.0819 - val_acc: 0.9620\n",
      "Epoch 9/30\n",
      " - 15s - loss: 0.1173 - acc: 0.9560 - val_loss: 0.2038 - val_acc: 0.9270\n",
      "Epoch 10/30\n",
      " - 16s - loss: 0.1005 - acc: 0.9625 - val_loss: 0.1077 - val_acc: 0.9630\n",
      "Epoch 11/30\n",
      " - 16s - loss: 0.0915 - acc: 0.9675 - val_loss: 0.1034 - val_acc: 0.9560\n",
      "Epoch 12/30\n",
      " - 15s - loss: 0.0843 - acc: 0.9670 - val_loss: 0.0870 - val_acc: 0.9670\n",
      "Epoch 13/30\n",
      " - 15s - loss: 0.0739 - acc: 0.9710 - val_loss: 0.0951 - val_acc: 0.9640\n",
      "Epoch 14/30\n",
      " - 16s - loss: 0.0769 - acc: 0.9715 - val_loss: 0.1126 - val_acc: 0.9700\n",
      "Epoch 15/30\n",
      " - 16s - loss: 0.0772 - acc: 0.9685 - val_loss: 0.1332 - val_acc: 0.9540\n",
      "Epoch 16/30\n",
      " - 16s - loss: 0.0628 - acc: 0.9795 - val_loss: 0.0788 - val_acc: 0.9740\n",
      "Epoch 17/30\n",
      " - 16s - loss: 0.0545 - acc: 0.9840 - val_loss: 0.1608 - val_acc: 0.9570\n",
      "Epoch 18/30\n",
      " - 16s - loss: 0.0630 - acc: 0.9760 - val_loss: 0.0954 - val_acc: 0.9770\n",
      "Epoch 19/30\n",
      " - 16s - loss: 0.0488 - acc: 0.9820 - val_loss: 0.0785 - val_acc: 0.9730\n",
      "Epoch 20/30\n",
      " - 15s - loss: 0.0556 - acc: 0.9855 - val_loss: 0.1057 - val_acc: 0.9690\n",
      "Epoch 21/30\n",
      " - 15s - loss: 0.0397 - acc: 0.9875 - val_loss: 0.1994 - val_acc: 0.9530\n",
      "Epoch 22/30\n",
      " - 15s - loss: 0.0485 - acc: 0.9830 - val_loss: 0.1611 - val_acc: 0.9660\n",
      "Epoch 23/30\n",
      " - 15s - loss: 0.0505 - acc: 0.9855 - val_loss: 0.1774 - val_acc: 0.9640\n",
      "Epoch 24/30\n",
      " - 15s - loss: 0.0700 - acc: 0.9790 - val_loss: 0.0748 - val_acc: 0.9740\n",
      "Epoch 25/30\n",
      " - 15s - loss: 0.0546 - acc: 0.9795 - val_loss: 0.1061 - val_acc: 0.9670\n",
      "Epoch 26/30\n",
      " - 16s - loss: 0.0515 - acc: 0.9845 - val_loss: 0.0811 - val_acc: 0.9690\n",
      "Epoch 27/30\n",
      " - 16s - loss: 0.0304 - acc: 0.9865 - val_loss: 0.1622 - val_acc: 0.9630\n",
      "Epoch 28/30\n",
      " - 15s - loss: 0.0470 - acc: 0.9855 - val_loss: 0.1639 - val_acc: 0.9650\n",
      "Epoch 29/30\n",
      " - 16s - loss: 0.0788 - acc: 0.9785 - val_loss: 0.0794 - val_acc: 0.9770\n",
      "Epoch 30/30\n",
      " - 16s - loss: 0.0374 - acc: 0.9840 - val_loss: 0.1039 - val_acc: 0.9700\n"
     ]
    }
   ],
   "source": [
    "from keras.preprocessing.image import ImageDataGenerator\n",
    "\n",
    "train_datagen = ImageDataGenerator(\n",
    "      rescale=1./255,\n",
    "      rotation_range=40,\n",
    "      width_shift_range=0.2,\n",
    "      height_shift_range=0.2,\n",
    "      shear_range=0.2,\n",
    "      zoom_range=0.2,\n",
    "      horizontal_flip=True,\n",
    "      fill_mode='nearest')\n",
    "\n",
    "# 請注意: 驗證用的資料不要進行資料的增強\n",
    "test_datagen = ImageDataGenerator(rescale=1./255)\n",
    "\n",
    "train_generator = train_datagen.flow_from_directory(\n",
    "        # 圖像資料的目錄\n",
    "        train_dir,\n",
    "        # 設定圖像的高(height)與寬(width)\n",
    "        target_size=(150, 150),\n",
    "        batch_size=20,\n",
    "        # 因為我們的目標資料集只有兩類(cat & dog)\n",
    "        class_mode='binary')\n",
    "\n",
    "validation_generator = test_datagen.flow_from_directory(\n",
    "        validation_dir,\n",
    "        target_size=(150, 150),\n",
    "        batch_size=20,\n",
    "        class_mode='binary')\n",
    "\n",
    "model.compile(loss='binary_crossentropy',\n",
    "              optimizer=optimizers.RMSprop(lr=2e-5),\n",
    "              metrics=['acc'])\n",
    "\n",
    "history = model.fit_generator(\n",
    "      train_generator,\n",
    "      steps_per_epoch=100,\n",
    "      epochs=30,\n",
    "      validation_data=validation_generator,\n",
    "      validation_steps=50,\n",
    "      verbose=2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "model.save('cats_and_dogs_small_3.h5') # 把模型儲存到檔案"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我們再來看一次我們的結果："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEICAYAAACzliQjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzt3Xl4lNX58PHvnZ2EkEACBBL2HSL7\npoJAFRU3VLSIWlfEXWvbt9rWutv6q63VtlbFFRVBqqJA3RBZtAokLGHfQQghO9n35Lx/nAlMQpZJ\nMpBk5v5cVy5mnm3OMw9zz5n7OYsYY1BKKeUdfJq7AEoppc4cDfpKKeVFNOgrpZQX0aCvlFJeRIO+\nUkp5EQ36SinlRTToeyER8RWRPBHp7s5tm5OI9BURt7c/FpELROSQ0/PdIjLRlW0b8VpviMjvG7u/\nUq7wa+4CqPqJSJ7T02CgGCh3PL/TGDO/IcczxpQDbd29rTcwxgxwx3FEZDZwozFmstOxZ7vj2ErV\nRYN+K2CMORF0HTXJ2caYb2rbXkT8jDFlZ6JsStVH/z+2LJre8QAi8oyIfCgiC0QkF7hRRM4WkbUi\nkiUix0TkHyLi79jeT0SMiPR0PH/fsf4LEckVkR9FpFdDt3WsnyYie0QkW0T+KSL/E5Fbaim3K2W8\nU0T2ichxEfmH076+IvJ3EckQkf3AxXW8P4+KyMJqy14WkRccj2eLyE7H+ex31MJrO1aiiEx2PA4W\nkfccZdsOjKrhdQ84jrtdRK5wLD8L+Bcw0ZE6S3d6b59w2v8ux7lniMinItLFlfemIe9zZXlE5BsR\nyRSRZBH5rdPr/NHxnuSISLyIdK0plSYi31deZ8f7ucbxOpnAoyLST0RWOs4l3fG+hTnt38NxjmmO\n9S+JSJCjzIOctusiIgUiElHb+ap6GGP0rxX9AYeAC6otewYoAS7HfpG3AcYA47C/5noDe4D7HNv7\nAQbo6Xj+PpAOjAb8gQ+B9xuxbScgF5juWPcroBS4pZZzcaWMnwFhQE8gs/LcgfuA7UAMEAGssf+d\na3yd3kAeEOJ07FRgtOP55Y5tBPgZUAgMday7ADjkdKxEYLLj8V+BVUB7oAewo9q2Pwe6OK7J9Y4y\ndHasmw2sqlbO94EnHI8vdJRxOBAE/Bv41pX3poHvcxiQAjwIBALtgLGOdb8DEoB+jnMYDnQA+lZ/\nr4HvK6+z49zKgLsBX+z/x/7A+UCA4//J/4C/Op3PNsf7GeLY/lzHurnAs06v82tgcXN/DlvzX7MX\nQP8aeMFqD/rf1rPfb4D/OB7XFMhfddr2CmBbI7a9DfjOaZ0Ax6gl6LtYxvFO6z8BfuN4vAab5qpc\nd0n1QFTt2GuB6x2PpwF76th2GXCv43FdQf+w87UA7nHetobjbgMudTyuL+jPA/7ktK4d9j5OTH3v\nTQPf518A8bVst7+yvNWWuxL0D9RThmuAOMfjiUAy4FvDducCBwFxPN8MXO3uz5U3/Wl6x3MccX4i\nIgNF5L+On+s5wFNAZB37Jzs9LqDum7e1bdvVuRzGfkoTazuIi2V06bWAn+ooL8AHwCzH4+uBEze/\nReQyEVnnSG9kYWvZdb1XlbrUVQYRuUVEEhwpiixgoIvHBXt+J45njMkBjgPRTtu4dM3qeZ+7Aftq\nKUM3bOBvjOr/H6NEZJGIHHWU4Z1qZThkbKOBKowx/8P+apggIrFAd+C/jSyTQnP6nqR6c8XXsDXL\nvsaYdsBj2Jr36XQMWxMFQESEqkGquqaU8Rg2WFSqr0nph8AFIhKDTT994ChjG+Aj4M/Y1Es48LWL\n5UiurQwi0ht4BZviiHAcd5fTcetrXpqETRlVHi8Um0Y66kK5qqvrfT4C9Kllv9rW5TvKFOy0LKra\nNtXP7/+wrc7OcpThlmpl6CEivrWU413gRuyvkkXGmOJatlMu0KDvuUKBbCDfcSPszjPwmsuAkSJy\nuYj4YfPEHU9TGRcBvxSRaMdNvYfr2tgYk4JNQbwN7DbG7HWsCsTmmdOAchG5DJt7drUMvxeRcLH9\nGO5zWtcWG/jSsN9/s7E1/UopQIzzDdVqFgC3i8hQEQnEfil9Z4yp9ZdTHep6n5cA3UXkPhEJEJF2\nIjLWse4N4BkR6SPWcBHpgP2yS8Y2GPAVkTk4fUHVUYZ8IFtEumFTTJV+BDKAP4m9Od5GRM51Wv8e\nNh10PfYLQDWBBn3P9WvgZuyN1dewNd3TyhFYZwIvYD/EfYBN2Bqeu8v4CrAC2ArEYWvr9fkAm6P/\nwKnMWcBDwGLszdBrsF9erngc+4vjEPAFTgHJGLMF+Aew3rHNQGCd077Lgb1Aiog4p2kq9/8Sm4ZZ\n7Ni/O3CDi+Wqrtb32RiTDUwFZmBvHO8BJjlWPw98in2fc7A3VYMcabs7gN9jb+r3rXZuNXkcGIv9\n8lkCfOxUhjLgMmAQttZ/GHsdKtcfwl7nEmPMDw08d1VN5c0RpdzO8XM9CbjGGPNdc5dHtV4i8i72\n5vATzV2W1k47Zym3EpGLsT/Xi7BN/sqwtV2lGsVxf2Q6cFZzl8UTaHpHudsE4AD2Z//FwJV64001\nloj8GdtX4E/GmMPNXR5PUG96R0TewubbUo0xsTWsF+AlbDvpAmxb3Y2OdTcDjzo2fcYYM8+NZVdK\nKdVArtT036GOLu7Yji79HH9zsDfYcNzlfxzbE3As8LiItG9KYZVSSjVNvTl9Y8wacYy7UovpwLuO\nO/prHc3XugCTgeXGmEwAEVmO/fJYUNfrRUZGmp4963o5pZRS1W3YsCHdGFNXE2nAPTdyo6na+y7R\nsay25adwtPOdA9C9e3fi4+PdUCyllPIeIlJfr3TAPTdya+q5aOpYfupCY+YaY0YbY0Z37FjvF5VS\nSqlGckfQT6RqV/QYbNvs2pYrpZRqJu4I+kuAmxzdtMcD2caYY8BXwIUi0t5xA/dCxzKllFLNpN6c\nvogswN6UjRSRRGyLHH8AY8yrwOfY5pr7sE02b3WsyxSRp7Fd5AGeqrypq5RSqnm40npnVj3rDXBv\nLeveAt5qXNGUUkq5m/bIVUopL6JBXymlvIgOuKaUlzPGkJlfwqGMAn7KyCc5p4gR3dozpmd7/Hy1\nXuhpNOgr5QWMMaTnlfBTRj6HMgo4lJ7PoYx8fsoo4FBGPrlFZafs0yEkgAsGdeLi2CjO7RtJoF9t\nE1u59vp2mK6WI6eolJ/SCxzvg31fjh4vJDjAl7Bgf8LbBBAe7E/7YH/CggMIb+NPeOXyEH9CA/1a\n3Dm5QoO+Uh7IGMP+tHzWHcxg7YFM1h3IIDX35GCnPgIx7YPpGRnCiO7h9IgIoVdkMD0iQogICeCH\n/Rl8uS2ZL7Ymsyg+kbaBfkwZ2ImLhnRm8oBOtA2sOXRUVBgSjxeyKzmHXcm57E7OZVdyDkeOFzJ1\nUGfunNSboTHhZ+ptAOBIZgEbDx8/8QV3KN1+2WXkl1TZrnO7QKLD25BTVMqu5FyyCkrILzll2t4T\nekQEc+/kvlw1Mhp/N/0iKimrIMDv9P66anGTqIwePdroMAzKU5SWV/Dj/gy+2p5M/KHjXBQbxV2T\nehMc4N76ljGGfal5rD2YydoDGaw7kEl6ng3yndsFMq5XBMO7hdOrYwg9I0KIDm/jUnApLivnh/0Z\nfLUtmeU7UsjILyHAz4fz+kVy0ZAoYtoHsycl90SQ35OceyJQikD3DsEM6BxKRNtAlm1JIreojLN7\nR3DnpN5M6t/xtNWUM/KK+e/WY3y66SgbD2edWN4lLIgeEcH0igyhR0QIPSPsF1/3DsE1XpOSsgqy\nC0vJLiwhq6DU/hWWcjy/hCUJSWw9mk23Dm24d3JfZoyKaVTwLyot54ttx1i4/gihQX68cfOYRp2z\niGwwxoyudzsN+kq5V2FJOav3pPH19mS+2ZlCTlEZwQG+DIwKZePhLDq3C+S3Fw3kqhHR+Pg0Puhl\nF5ayNCGJH/ans/5gJul5tuYa1S6I8b07ML53BON6R9AzItgtwbW8whB/KJMvtyfz9fYUjmYVnlgX\nHuzPwKhQBka1Y2BUKAOiQunfOZQQp18EuUWlLFx/hDe/P0hyThEDo0K5a1IfLh3axS015fziMpbv\nSOHTzUf5bm865RWGAZ1DmT6iK1MGdKJnRAhtAhqfoqrOGMPK3am89M1eEhKziQ5vw71T+nLNqBiX\nvlC3Hc1mUfwRFm86Sm5RGT0igpk1tjt3nte7UddLg75SZ1B2YSnf7krhq20prNqTSlFpBWFt/Jk6\nuDMXDYliYr9Igvx9iTuUydPLdrAlMZuhMWH88bLBjOnZoUGvtTs5l3k/HmLxxqMUlpbTNSzIEeBt\noO/ewT1Bvi7GGLYdzeF4QQkDokLpFBro8muWlFWwJCGJ11bvZ29qHtHhbbh9Qi9mjulW5UvCFaXl\nFXy/N51PNx/l6+0pJ96PK4ZHc+WIrgyMateY02sQYwyr9qTx4jd7STiSRXR4G+6Z0odrR3U7Jfjn\nFJXy2eYkPow7zLajOQT4+XBJbBQzx3RnXK8OTaoEaNBX6gxYvSeNN78/yA/70imrMHRuF8iFg6O4\nODaKsb061FiDragwfLr5KH/5cjfJOUVcclYUv5s2iG4dgmt9nbLyCr7Zmco7Pxxk7YFMAv18mD68\nKzed3ZMhXdu1yhuKFRWGVXtSeXX1AdYfzCSsjT83nd2DCwZ1pqS8gqLScopKK/8tp6isgmLH48LS\nctJzS1i+M4XM/BLC2vhz6dAuTB/WlTE9mxY8G8sYw+o9aby0Yi+bDmfRNSyIu6f05dpRMWxJzGZh\n3GE+33qMotIKBkaFMmtsd64cHk1YsL9bXl+DvlKnUXmF4aVv9vCPb/cRHd6Gy4Z24aLYKIbHhLsc\ncApKypi75gCvrT5AeYXhtgm9uHdKH0KDTgaBzPwSFsYdZv7awxzNKiQ6vA03ju/BdWO60T4k4HSd\n3hm38fBx5q4+wFc7knElJPkIhAT6cV7/jlw5PJpJ/Tue9hugrjLG8N3edF78Zg8bD2cR6OdDcVkF\nbQP9uGJ4V64b042zosPc/kWtQV+p0+R4fgkPfriZNXvSuHZUDE9fGUuQf+NzxceyC3n+y918suko\nkW0DeCn2IAOLEliWP4CXDkaTWRbE2b0juPmcnlwwqJNHt50/lJ7P3tQ8gvx9CPL3JcjP98TjQKdl\n/r7S4n/dGGOI37QRs+avlPa7hBEXXEdwoHtq9TXRoK/UabA1MZu73t9AWm4xT04fwnVjurkt+CQc\nyWLe4v/y54wH8acMHzGU40txl9EED74Y+l4AUWfZZjGq5Tu8DhbOgoIM+7zLMJj0MAy45LRcQw36\nSrnZh3GH+eNn24kMCeCVG0cxrFs4pO+F/DTocU7TX6C0CPP6FEqyU1h69odc3KWAtkdWwt5vIGWr\n3aZtlA3+fc+HPlOgjYdNO520CfIzoM/PwKcV/6LZ+hF8eg+ERcN1C+BoPKz5Kxw/aL+4Jz0CAy91\na/DXoK+UmxSVlvPEku0sjDvCxH6RvHTdCDqEBEBBJrxyDuSlwi8+gd6Tm/ZCX/0BfvwXXP8f6H9h\n1XU5x2D/Ctj3Dez/FoqyQXwgZgz0nQr9LoCoYa03UJaXwqo/w3cvAAY6DYZJv4VB01vXORkDq/8C\nq/4EPc6Fme9DsKN1VnkZbF0Ea56HzAPQ+Sx7jgMvc8s5atBXXqG8wrArOYfsglKKypxbe1RQ6Gjp\nUexo+VFUWk7bQD+GxoQzvFs4UWFB9R4/8XgBd7+/ka1Hs7lvSl8emtofXx+xH+5Fv4DdX0J4N/sF\ncMe3ENGncSdyYBW8Ox3GzIZL/1bPSZfB0Q2wbznsXQ7HNtvlIR2hz/nQb6qtKQc3rClos0nfB5/M\ntrX8Eb+AnhPhu79B+m7oOAgm/T8YfCX4uK+N/WlRVgxL7octH8Kw6+HyF8Ev8NTtystg20c2+Gfs\ng05DHF9wVzQp+GvQVx4rNbeINXvSWb0nje/2ppFVUFrvPkF+MMVvG8Wl5XxbPgywnZiGdQtjeLf2\nDOsWxtCY8CrDC6zek8aDCzdRXmF44efDmTq488kDbnofPrsXpj5lP6yv/wyCI2D2N9CmgcMMFGTC\nK+dCYFuYsxoCam+6WaO8VFv737vc/hooPA4IRI+yXwB9p0LX4S0vaBoDG+fBl7+zwfHyf8DgK+y6\ninLYvtgGxrRdEDnABsYhV7W88wCbkvrwBjj8I/zsUZj4m/pTNxXlsO1j+8sgY6/9dXPe/7PnqJ2z\nlDcrK69g05EsVu1OZdXuNLYn5QDQMTSQSf07MrFfJJ3bBdmWHf4+jhYfjsfl+QRu+wCJewMyD2AQ\nDvzsFVb7jCchMYvNR7L4KaMAsJ+zfp3aMiwmnJBAP+b9eIgBnUN59cZR9IwMOVmgzAPw6kToOgJu\n+swGoUPf25p6r0lw/SLwdbGTkTHwn5th139h9gobnJuiotzWmPcut6mgoxsAA206wKhb4PzHWsaN\n4PwMWPoA7Fpm02JXvgLtup66XUUF7PjUBsa0nRDZ3wbG2Bk1B39jIC8FMvbb61T5F9wBRt9m8+nu\nlrYHPrjWpuCuehVir27Y/pVfcKv/D4Ij4dbPNeir1q+8wvDD/nRW7EyltLyiSoBuE+BLoL8vQX6O\nJnn+voRQQE7yTyxLCmb1vuPkFpXh6yOM6tGeSf07MnlARwZFtau9TXzqLlg/FxIWQmk+xIyFsXfY\nZclb4eal0G0sYJtgbk7MIuGI/RJIOJLF8YJSrhoRzZ+uOqtq1/3yMnh7GqTthnt+gLCYk+s2vANL\nH4Tx98DFf3btjdn8AXx6N5z/OEz8VePe3LrkZ9hfATs+tQF20iMw5Xfuf52G2P8tLL4bCjPteY+/\np/60RkUF7FxiA2PqDojoC+fcb+9rVA/wpQUn9/Pxg/DuNiCXFUL3c2DcHJtH93VD88kDq22azzfA\n3rDt1rhxc+w5ltuWPm07NWp3Dfqq2Rlj2JKYzWebk1i6JYm03GLa+NsgX9nLsqKG/37DZR//DniR\nrpJJIYEcCxkIXUcRNWQCwT3H2kBbU02oohz2fAnrXoODq8E3EM66xgb7riPsNvnp8OZUKMyC25dD\nZN8ay51dWEp4cA2dn1b9n71JN+NNe+zqvngE1r1iUxWjbq77Dco8CK9OsE35bl56etMWxsBn98Hm\n9+GKf8LIm5p+zMQNcGQttO8FHXpD+57gX8d9ktIiWPEUrH3ZpmtmvAFdhjbsNSsqYNdSW/NP2WaX\n+fjb1+7Q2/5F9IEOjjKFdbe/ugqP25Tc+tch6ycI7QpjboORt0Dbjo07/43vwrKH7BfQ9YugfY/G\nHcdNNOirZnMwPZ/PNh9lyeYkDqTnE+Drw+QBHblyRDQ/G9jpREcmYwyl5cZxA7ac4pJyAhPmEfn9\nY5QER5E98l46FR1Ejm6A5C1Q7hgKt21nm6+OHgnRo+2HfPtiiHsDsg5Du2gYczuMvBlCIk8tYOYB\neGOqzaHf/o3rH/rEeHjzQptamPF6zduUl9mf+ge/s6mfnufWvt07l9hfJHd/b2ujp1t5KXzwc1s7\nvX6RbfHTWNs+gU/mQIXz/RSxX8iVAbdDn5NBuKzY3gNJ2QZj59h7If5tGv/6FRWQnGCbrLaLcT2d\nVlEOe7+2FYMDK20NfcjVtvYfPar2fXKOVv01kbrTps/6/AyufQeCwhp/Lm6iQV+dOUU5ZKQn89kh\nfz7bfJSExGxEYFyvDlw5PJppsV3qH1+kpAD++ytIWGBvPF49t2rrk7ISGzCObrB/ifH25pezHhPs\nh3fApfUHgcQN8M6l0GkQ3LIMAkLq3r44D16baAPn3f+r+0NemAVvXGDTF3d8a2uh1a1+HlY+A1e/\nAUOvrfu13ak416anMg7Y3HFj7iHEvQn//TV0H2+vU16aIxg6pVky9tvzdxbSEab/+9TmqM0lbY8j\nBbgASvJsBWLkTbZykXnw5LkcPwTlJ+ciwC/I/rrpfxH87I+uf+GcZhr0Vc0S423esP9Fbjnchp+O\nIx/+gpEF3/F5+ViWhf+C4WPO5fJhXekS5mJNLvMAfHiTDeqTH4Hzfuta07XCLEjaaGvLvc6DqNiG\nFX7X57bFRb8LYeb8uj+8S+6Hje/BLf+tvfbuLGO/bdHTrivc/jUEhp5cl7jBppiGXAXXvNmwMrtD\nbrL9UiovsSkuV9MSxsB3f4Vvn4H+F8M1b9fd0qjw+MngmZ9mfyE1Ml99WhVlw+YF9gsgc79d5tfG\n8Wull1PKyJE+Cu3aIvsOaNBXVRljO/4sf9ze/Pr1rppTHy6oqDB8uyuV19bs56dDB/gh6H5SQwbR\nufQwviW59ibZpIddy9fu+Qo+uQMQm+PtN7VRZWq0uDdsrXXUrXDZ32u+V7BzKXx4I0z4FVzwuOvH\n3r8S3p9hz+m6D2zOvvIXQ1mJ/cXQ0Oad7pK6C9660KbKbvuq/jb9FRXw9R9g7b9h6EyY/rJ7boS2\nJBUVkLrdNr1tG9UiA3tdXA36reusVOMU59pmgV8/Cj0n2Dzs5vkNPkxJWQX/iT/CRS+uYfa78SRl\nFfHv2F34UUHX297D96GttnXIwe9sYFtwPRxLqPlgFeWw8k82xxzeA+5cfeYDPtjOUBMegg1vw/cv\nnLo+NxmWPGBvtk5uYKuXPlNg2v/Zm8srnrLLvvq9rf1e/VrzBXyATgNta5Pjh2DhDfYma23KS20L\no7X/hnF3w5Wvel7ABxvko86yv85aWcBvCK3pe7q03baWmrEPLngCznnA5nTzUuC+DS79584tKmXB\n+sO8+f1BUnKKGdSlHXdN6s0lsZ3xf3m0vXF6639P7lCYZW+UrX3Z/nQecIntWFPZgqYgEz6ebTsS\nDb/B9kBtyk29pqqogMVzYOt/4Kq5MGzmyeXzr4GffoA710DH/o07/rJfQfybtrfppvfg3F/C1Cfd\nV/6m2PYxfHSb7fF6zdun/n8oLYT/3GK/uFztdKSahas1/ZZxB0KdHtsX22Z6fkFw02ekRoxl044U\nQsIuY8LhP/C/FZ+Q13UCbfydOjM5DWdbXFbB/HWHmb/2J3KLyzinTwTPXzOMif0i7ciSB9fYAaSq\n14DbhMPkh2H8XTb4//gyzJ1s88BnXQsrnrQ16MtetB2GmjuI+PjYdEVusm1hEhoFvSdB3Ov2i+nS\nvzU+4IOt7afvsQE/6iyY8gf3lb2pYmdATpL9Fbg8Bi569uS6wixYMMv2Mr30BdsiSrV6WtP3ROVl\nlH71GP7rXya53Vm81OFRVh3z51i2/QkfSAlrA+/jfxVDuK/0wToP5SMw7awu3Hleb4bGVEtHfHS7\nHf/l17vrrqkX5cB6R/AvPG6b2M18t/Ymcs2lMMv+CspOtOOmLL7b9ha9/sOmfzEVZNp01vi7Gz8+\nz+liDHzxsL1GFz9ny5ibYu9HpO2yLXQa2stUnXF6I9fLHEjLY93BTPbt38/0fX9gaPl25pVN5Zmy\nX9ClQzuGdbODjA3vFka3DsG0WfFH2m55i12z1pHv3+HkQGVOg5aVlVcwZWAnekTU0JyxIBP+NsDW\n1C953rVCFufCzmW2tUxIhFvP322yE20b/twk2yX+nh9bZosTd6soh0U32eEgLn4O1r1qU4Az37ND\nOasWz63pHRG5GHgJ8AXeMMY8V219D+AtoCOQCdxojEl0rCsHHIOBc9gYc4XLZ6Fc8vX2ZO56fwMj\n2M0rgf8gTAr4ot+TdB91PWtjwohoW8NIf+feAZvnMih5SeO6/29ZZJv8NaRnZ2AoDJ/V8Nc6k8Ji\n4Ib/wOK77D0Qbwj4YFsWzXgD5l0BXz4MQeFw05KmDSugWqR6a/oi4gvsAaYCiUAcMMsYs8Npm/8A\ny4wx80TkZ8CtxphfONblGWPaulogrek3zLaDx/jDW0u4OnQHNxW9D2HdkJnvu9Zm/e1LIfsIPLC5\nYa0VjLHjyPsFwpxVjS26aonyM+z4NqNvtR3XVKvhzpr+WGCfMeaA48ALgenADqdtBgMPOR6vBD5t\nWHFVnYpznXoIVvZ6PEh5+j5i81P4zBcoAPpPs6P8udoUcPSt8PHtcODbhv2EP7rBDnp12d8bczaq\nJQuJgEv+0tylUKeRK0E/Gjji9DwRGFdtmwRgBjYFdBUQKiIRxpgMIEhE4oEy4DljzClfCCIyB5gD\n0L37GRiDpCUqyqk6tofzX15K1W1DOlHevjcrSmPZaaZw7dRJdO0T2/D5UwddbjuixL/dsKC/cR74\nB0NsDQOOKaVaNFeCfk1RpHpO6DfAv0TkFmANcBQb5AG6G2OSRKQ38K2IbDXG7K9yMGPmAnPBpnca\nUP7Wae83dszzE4F9v+2m7qxtlO3y3XcqRPR2GsCqF2V+Idzxbjxr8tJ565YxdO3fyFEC/QJtO/kf\nX7ZDz7brUv8+xbmw9WM7SFVQu8a9rlKq2bgS9BOBbk7PY4Ak5w2MMUnA1QAi0haYYYzJdlqHMeaA\niKwCRgBVgr5XyTwA82fYx6FdbTAfMO3kuB4detvBnAJrvw3y9GfbWLk7jWeujGVSYwN+pVG3wA//\nsMPOTvp/9W+/fbEdn94dQ/Mqpc44V4J+HNBPRHpha/DXAdc7byAikUCmMaYC+B22JQ8i0h4oMMYU\nO7Y5F/DuhOGR9fbfO9fYrv0N9M7/DjLvx5+YPaEXN453w/jdEX3sbE8b59lWPPWN6b5hHnQceGIC\nEqVU61Jvkw1jTBlwH/AVsBNYZIzZLiJPiUhl88vJwG4R2QN0Biq79Q0C4kUkAXuD9znnVj9eKTEO\nAkKhcwNHhAS+3ZXCU8t2MHVwZ353iRtbVoy+1bbi2bei7u1StsPReFvLb+5etEqpRnGpnb4x5nPg\n82rLHnN6/BHwUQ37/QCchkkpW7Ej6yFmVINnSdqelM19H2xicNd2vHTdcHxrmyawMQZcasc63/B2\n3WOdb3zPzlI09Dr3vbZS6ozy3KHkWqKSfFtbjmlYh5fk7CJufyeesDb+vHnzGIID3Dxkkl8AjLjR\nDqqVfbTmbUqLYMtCGHRZy+1Nq5Sqlwb9MylpE5jyBgX9/OIybp8XR25RKW/ePIbO7eqYg7QpRt4M\npsIOClaTXcvsuDkj65n3VSnVomnQP5MS4+y/Lgb98grDgws3s/NYDv+6fiSDu57GJpIdetn5PjfM\ns/O3Vrdxnp3Htdek01cGpdQnIn0XAAAgAElEQVRpp0H/TEqMt23t65ulCDtp+NPLdvDNzhQev3wI\nUwaegTFgRt1qBxrb+3XV5ZkH7DDKI27y6MkllPIG+gk+U4xx3MR1rZb/9+V7eOeHQ9w+oRc3n9Pz\n9Jat0oBptlPYhrerLt/0vp1icfj1Ne+nlGo1NOifKVmHIT/VpVELX19zgH98u4+fj47h0UvP4KBX\nvv4w8hewd7ktL9hUz6b5djjksOgzVxal1GmhQf9McTGfv3D9YZ79fCeXntWFP1891M5QdSZV9rTd\n+K79d+/XkJesPXCV8hDeGfSzDtvJImq6YXm6JMbZQco6Dal1k6UJSfxu8VYm9e/I32e6uS2+q8K7\n2wnKN75nJ8Te+C607Wxr+kqpVs87g/6n98DC6+HlMbD5gzMT/BPjoOtI8K25jf3KXak89OFmxvTo\nwKs3jiLArxkvzahbbe1+wzuw9yuby/f1b77yKKXcxvuC/rEtcOg7O0F3QAh8ejf8a7S9WVleenpe\ns7TIvm5MzfMbrDuQwV3vb2Bgl1DeuGU0bQIa1lvX7fpdaAeD+/J3tu3+iF80b3mUUm7jfUF/7Ss2\nzXLJ83Dnd3DdB3Yav8/utcF/47vuD/7HEqCitMZByrYkZnH7vHhi2rdh3q1jaRfUAmrUvn42h19R\nCj0ntryJvJVSjeZdQT83BbZ9ZMeQb9PeDho28FI74uWshXZe0CX3wz9H2k5KZSXued1abuLuTcnl\n5rfWEx7sz/zZ42uey7a5jLrZTrAy/p7mLolSyo28K+jHv2kn8x53V9XlIraN+pxVcP0iCI6EpQ/A\nP0fZWaUqypv2uonrIbxHlUm2j2QWcOOb6/Dz9WH+7HFEhZ2m4RUaq11X+O0BGHhJc5dEKeVGbh65\nqwUrLYK4N6H/xRDZt+ZtRKD/RTanve8bWPUcLPul44vizjoPvycll1W7U2kX5E94sD9hbQIID7aP\no47EIT3OObFtSk4RN7yxjuKyCj6cczY9IkLceaZKKVUr7wn6WxdBQbpr6QoR22yx7wUwdxJs+bDO\noL/+YCa3vRNHXvGprYCiyGBtUBLPJISwdM83hLcJ4HhBCfnFZXxwx3gGRIU25ayUUqpBvCPoGwM/\n/ttOXNLrPNf3E7GTfy//I2QetIOSVfP93nRmvxtH17A2LLt/AgF+PmQVlJJVWEJ2QSmhB/4LmyBm\n6CQmSyeyCkuIKg3i3il9GdYt3I0nqZRS9fOOoH9gFaTthOn/bviMT0OuskF/+ycw8ddVVn2zI4V7\nPthI78gQ3rt9HB1D7Y3YruFtTm6UdBB8A7nlqsvtuPVKKdWMvONG7tp/25mhYmc0fN/wbtBtPGz7\npMriZVuSbNv6qFAWzhl/IuCfIjEOug7XgK+UahE8P+in7bHjx4yZDf6NbCETOwNStkHqLgA+2pDI\nAws2MaJ7OO/PHkd4cC0BvawEkjY3eKYspZQ6XTw/6K97BXwDYfTtjT/G4Ol2aOHtn/De2p/4zX8S\nOKdPJPNuq6czVfJWKC/WoK+UajE8O6dfkAmbF8DQa6Ftx8YfJ7Qz9JxIVtxC/pg5lPMHdublG0YS\n5F/PcAmVnbJq6ImrlFLNwbNr+hvegbLCJvcqNcawwm8i4QU/cWe/fF65cVT9AR9s0G8XbTs6KaVU\nC+C5Qb+8FNa/Dr0nQ+fahzOujzGG//tyN7/a2p1yfHk4ZpvrI2Amrq91kDWllGoOnhv0t39q53tt\nYi3/yaU7eHX1fi4bNxiffhfgs2Oxbfdfn9wUO25/jKZ2lFIth2cGfWNg7csQ0Q/6Tm30YXYn5/LO\nD4f4xfgePHNlLBI7A7KPnMzV1+VovP1Xb+IqpVoQzwz6R9ZB0iYYfxf4NP4UV+1OBeDeKX3ttIUD\npoFfEGz72IUyrAcff+gyrNGvr5RS7uaZQf/Hl+0wycNmNekwq/ekMTAq9OQImEHt7GBs2xfXP/Jm\nYjx0Gdr4vgFKKXUaeF7QP34Idi2D0bfambEaKb+4jLhDmUzqX62pZ+wMyEuBn/5X+87lZZC0UVM7\nSqkWx6WgLyIXi8huEdknIo/UsL6HiKwQkS0iskpEYpzW3Swiex1/N7uz8DVaN9d2pBpzR5MO8+P+\nDErLzalBv9+FENC27hRP6nYoLdCgr5RqceoN+iLiC7wMTAMGA7NEZHC1zf4KvGuMGQo8BfzZsW8H\n4HFgHDAWeFxE2ruv+NUU5djpDgdfCWHRTTrU6j1pBAf4Mrpnh6orAoJhwCWw47Pap1WsZaYspZRq\nbq7U9McC+4wxB4wxJcBCYHq1bQYDKxyPVzqtvwhYbozJNMYcB5YDFze92LXYPB9KcuHspnfGWrUn\nlXP6RNbcJj92BhQeh/0raz7AkTgI6QTh3ZtUDqWUcjdXgn40cMTpeaJjmbMEoHIIy6uAUBGJcHFf\nRGSOiMSLSHxaWpqrZa+qotxOet5tPESPatwxHA6m53Mks5BJA2oZuqHPzyAorPYUT2KcHXqhocM4\nK6XUaeZK0K8pclXvnfQbYJKIbAImAUeBMhf3xRgz1xgz2hgzumPHRo6Rk3XYHrqJtXywqR2ASf1q\nKYtfAAy6Anb9F0oLq67Lz4DM/doTVynVIrkS9BOBbk7PY4Ak5w2MMUnGmKuNMSOAPziWZbuyr9t0\n6AX3b4KBlzX5UKv3pNE7MoTuEcG1bxQ7w6aS9i6vuvxEpyztiauUanlcCfpxQD8R6SUiAcB1wBLn\nDUQkUkQqj/U74C3H46+AC0WkveMG7oWOZaeHrx/4uDAQWh2KSstZeyCD86q32qmu50Q7MUv1FE9i\nHIivnThFKaVamHqDvjGmDLgPG6x3AouMMdtF5CkRucKx2WRgt4jsAToDzzr2zQSexn5xxAFPOZa1\nWOsPZlJUWsHk2vL5lXz9bCuhPV9Bce7J5UfW2wHemtBHQCmlTheXxtM3xnwOfF5t2WNOjz8CPqpl\n37c4WfNv8VbtTiPQz4fxvSPq3zh2BsS9Dru/tGP2V5TD0Y0wbObpL6hSSjWC5/XIbaLVe1IZ1zvC\ntfHyu42z4+VXpnjSdts8v7bPV0q1UBr0nRzJLGB/Wv6pvXBr4+MDQ66Cfd/YdvuJ6+1yDfpKqRZK\ng76TNXsdTTVdDfpgUzwVpbBzmb2J26YDdOh9mkqolFJN49lz5DbQ6t1pRIe3oU/HBtyE7ToC2vey\nKZ6cJFvL105ZSqkWSmv6DiVlFfxvXzqTB3S0Y+e7SsTW9g+uhvTd0E1TO0qplkuDvsOGn46TX1Le\nsNROpdgZYCrsY83nK6VaMA36Dqv3pOHnI5zTN7LhO3ceDB0HAQJdR7q9bEop5S6a03dYvSeN0T3b\n0zawkW/J5IftbFlB7dxbMKWUciOt6QMpOUXsPJbDpP6dGn+QIVfBRc+6r1BKKXUaaNAH1jhG1ax3\n6AWllGrlNOgDq/ak0Sk0kIFRoc1dFKWUOq28PuiXlVfw/d50JvVvYFNNpZRqhbw+6CckZpNdWFr7\nLFlKKeVBvD7or96Tho/AhMY01VRKqVZGg/6eNIZ3Cyc8OKC5i6KUUqedVwf9jLxitiRmMXlAE5pq\nKqVUK+LVQf/7fekY08BRNZVSqhXz6qC/encaHUICOCs6rLmLopRSZ4TXBv2KCsOavWlM7BeJj482\n1VRKeQevDfo7juWQnleiqR2llFfx2qC/2jH0wsR+GvSVUt7Da4P+qt2pnBUdRsfQwOYuilJKnTFe\nGfSzC0vZeDhLUztKKa/jlUH/h33plFcYHXpBKeV1vDLorz2QQUiALyO6hTd3UZRS6ozyyqB/NKuI\nbh2C8fP1ytNXSnkxr4x6qblFdG4X1NzFUEqpM84rg35KThGd22mrHaWU93Ep6IvIxSKyW0T2icgj\nNazvLiIrRWSTiGwRkUscy3uKSKGIbHb8veruE2io8gpDWm4xUVrTV0p5Ib/6NhARX+BlYCqQCMSJ\nyBJjzA6nzR4FFhljXhGRwcDnQE/Huv3GmOHuLXbjpecVU2GgkwZ9pZQXcqWmPxbYZ4w5YIwpARYC\n06ttY4B2jsdhQJL7iuheKTlFAJrTV0p5JVeCfjRwxOl5omOZsyeAG0UkEVvLv99pXS9H2me1iExs\nSmHdISWnGEBz+kopr+RK0K9pCEpT7fks4B1jTAxwCfCeiPgAx4DuxpgRwK+AD0SkXbV9EZE5IhIv\nIvFpaWkNO4MGqqzpa05fKeWNXAn6iUA3p+cxnJq+uR1YBGCM+REIAiKNMcXGmAzH8g3AfqB/9Rcw\nxsw1xow2xozu2PH09pJNySnCRyCirdb0lVLex5WgHwf0E5FeIhIAXAcsqbbNYeB8ABEZhA36aSLS\n0XEjGBHpDfQDDrir8I2RklNEx9BAfHUMfaWUF6q39Y4xpkxE7gO+AnyBt4wx20XkKSDeGLME+DXw\nuog8hE393GKMMSJyHvCUiJQB5cBdxpjM03Y2LkjJKdabuEopr1Vv0AcwxnyOvUHrvOwxp8c7gHNr\n2O9j4OMmltGtUnLsEAxKKeWNvK5HrvbGVUp5M68K+sVl5RwvKKVzqKZ3lFLeyauCfuqJNvoa9JVS\n3sm7gn6uozdumAZ9pZR38qqgn5ytvXGVUt7Nq4L+iXF3NKevlPJS3hX0c4sI8PMhPNi/uYuilFLN\nwquCfmpOMZ3bBSKivXGVUt7Jq4J+cnaRpnaUUl7Nq4J+is6Nq5Tycl4V9FNziumkLXeUUl7Ma4J+\nXnEZecVlOo6+UsqreU3Q12kSlVLKC4O+pneUUt7Ma4K+jrujlFJeFPQ1vaOUUl4U9JNzimgb6Efb\nQJfmjVFKKY/kNUFfm2sqpZQXBf2UHO2Nq5RSXhP0k3WaRKWU8o6gb4yxg63p5ClKKS/nFUE/q6CU\nkvIKTe8opbyeVwT9lFxtrqmUUuAlQT85uzLoa05fKeXdvCLoa29cpZSyvCLo67g7SilleUfQzy2i\nfbA/gX6+zV0UpZRqVl4R9JOzizW1o5RSeEnQT9VpEpVSCnAx6IvIxSKyW0T2icgjNazvLiIrRWST\niGwRkUuc1v3Osd9uEbnInYV3VYr2xlVKKQDqHXJSRHyBl4GpQCIQJyJLjDE7nDZ7FFhkjHlFRAYD\nnwM9HY+vA4YAXYFvRKS/Mabc3SdSm/IKQ1qupneUUgpcq+mPBfYZYw4YY0qAhcD0atsYoJ3jcRiQ\n5Hg8HVhojCk2xhwE9jmOd8ak5xVTYaCTBn2llHIp6EcDR5yeJzqWOXsCuFFEErG1/PsbsC8iMkdE\n4kUkPi0tzcWiu6ayuaZOiK6UUq4Ffalhman2fBbwjjEmBrgEeE9EfFzcF2PMXGPMaGPM6I4dO7pQ\nJNelnOiYpTl9pZRyZRqpRKCb0/MYTqZvKt0OXAxgjPlRRIKASBf3Pa10mkSllDrJlZp+HNBPRHqJ\nSAD2xuySatscBs4HEJFBQBCQ5tjuOhEJFJFeQD9gvbsK74qUnCJ8BCJCAs7kyyqlVItUb03fGFMm\nIvcBXwG+wFvGmO0i8hQQb4xZAvwaeF1EHsKmb24xxhhgu4gsAnYAZcC9Z7LlDtig3zE0ED9fr+iS\noJRSdXJplnBjzOfYG7TOyx5zerwDOLeWfZ8Fnm1CGZskJUebayqlVCWPr/6m5BTRSSdPUUopwEuC\nvrbcUUopy6ODfnFZOccLSrWNvlJKOXh00NfJU5RSqirPDvq5OnmKUko58+ign5ytNX2llHLm0UFf\nx91RSqmqPDvo5xYR4OtDeLB/cxdFKaVaBI8O+qk5xXRqF4hITeO+KaWU9/HooJ+crdMkKqWUM48O\n+im5RZrPV0opJx4d9CvTO0oppSyPDfp5xWXkFZdpekcppZx4bNA/OXmK1vSVUqqSFwR9rekrpVQl\njw36Ou6OUkqdymODvtb0lVLqVB4b9JNziggJ8KVtoEuTgymllFfw2KCfmlNM5zCt5SullDOPDfop\nOUV01mkSlVKqCs8N+rk6TaJSSlXnkUHfGENKTrHexFVKqWo8MuhnFZRSUlahQV8pparxyKCfkqvN\nNZVSqiYe2Z4x5UTHLM3pK9UQpaWlJCYmUlRU1NxFUbUICgoiJiYGf//GTQ7lmUE/W2v6SjVGYmIi\noaGh9OzZUycfaoGMMWRkZJCYmEivXr0adQzPTO84euPqsMpKNUxRUREREREa8FsoESEiIqJJv8Q8\nM+jnFtE+2J9AP9/mLopSrY4G/JatqdfHpaAvIheLyG4R2Scij9Sw/u8istnxt0dEspzWlTutW9Kk\n0rpIm2sqpVTN6s3pi4gv8DIwFUgE4kRkiTFmR+U2xpiHnLa/HxjhdIhCY8xw9xW5fik5RXTSoK9U\nq5ORkcH5558PQHJyMr6+vnTs2BGA9evXExAQUO8xbr31Vh555BEGDBhQ6zYvv/wy4eHh3HDDDe4p\neCviyo3cscA+Y8wBABFZCEwHdtSy/SzgcfcUr3FScooYGBXanEVQSjVCREQEmzdvBuCJJ56gbdu2\n/OY3v6myjTEGYww+PjUnKt5+++16X+fee+9temFbKVeCfjRwxOl5IjCupg1FpAfQC/jWaXGQiMQD\nZcBzxphPa9hvDjAHoHv37q6VvBblFYa0XE3vKNVUTy7dzo6kHLcec3DXdjx++ZAG77dv3z6uvPJK\nJkyYwLp161i2bBlPPvkkGzdupLCwkJkzZ/LYY48BMGHCBP71r38RGxtLZGQkd911F1988QXBwcF8\n9tlndOrUiUcffZTIyEh++ctfMmHCBCZMmMC3335LdnY2b7/9Nueccw75+fncdNNN7Nu3j8GDB7N3\n717eeOMNhg+vmrh4/PHH+fzzzyksLGTChAm88soriAh79uzhrrvuIiMjA19fXz755BN69uzJn/70\nJxYsWICPjw+XXXYZzz77rFveW1e5ktOv6a6BqWXb64CPjDHlTsu6G2NGA9cDL4pIn1MOZsxcY8xo\nY8zoyp9yjZWRV0yFQdM7SnmYHTt2cPvtt7Np0yaio6N57rnniI+PJyEhgeXLl7Njx6nJh+zsbCZN\nmkRCQgJnn302b731Vo3HNsawfv16nn/+eZ566ikA/vnPfxIVFUVCQgKPPPIImzZtqnHfBx98kLi4\nOLZu3Up2djZffvklALNmzeKhhx4iISGBH374gU6dOrF06VK++OIL1q9fT0JCAr/+9a/d9O64zpWa\nfiLQzel5DJBUy7bXAVV+Nxljkhz/HhCRVdh8//4Gl9RFyZWTp4Rqc02lmqIxNfLTqU+fPowZM+bE\n8wULFvDmm29SVlZGUlISO3bsYPDgwVX2adOmDdOmTQNg1KhRfPfddzUe++qrrz6xzaFDhwD4/vvv\nefjhhwEYNmwYQ4bU/H6sWLGC559/nqKiItLT0xk1ahTjx48nPT2dyy+/HLAdqgC++eYbbrvtNtq0\naQNAhw4dGvNWNIkrQT8O6CcivYCj2MB+ffWNRGQA0B740WlZe6DAGFMsIpHAucBf3FHw2lT2xo3S\nsfSV8ighISEnHu/du5eXXnqJ9evXEx4ezo033lhj23XnG7++vr6UlZXVeOzAwMBTtjGmtoTGSQUF\nBdx3331s3LiR6OhoHn300RPlqKlppTGm2ZvE1pveMcaUAfcBXwE7gUXGmO0i8pSIXOG06Sxgoan6\nTg0C4kUkAViJzenXdgPYLXSaRKU8X05ODqGhobRr145jx47x1Vdfuf01JkyYwKJFiwDYunVrjemj\nwsJCfHx8iIyMJDc3l48//hiA9u3bExkZydKlSwHb6a2goIALL7yQN998k8LCQgAyMzPdXu76uDQM\ngzHmc+Dzasseq/b8iRr2+wE4qwnla7DUnCJ8BCJC6m/apZRqnUaOHMngwYOJjY2ld+/enHvuuW5/\njfvvv5+bbrqJoUOHMnLkSGJjYwkLC6uyTUREBDfffDOxsbH06NGDceNOtnGZP38+d955J3/4wx8I\nCAjg448/5rLLLiMhIYHRo0fj7+/P5ZdfztNPP+32stdFXPkJcyaNHj3axMfHN3r/336UwKrdaaz/\nwwVuLJVS3mHnzp0MGjSouYvRIpSVlVFWVkZQUBB79+7lwgsvZO/evfj5Nf+QZTVdJxHZ4Gg0U6fm\nL72bpeQUaz5fKdVkeXl5nH/++ZSVlWGM4bXXXmsRAb+pWv8ZVJOSU0RM++DmLoZSqpULDw9nw4YN\nzV0Mt/O4AddSc4t1HH2llKqFRwX94rJyMvNLtOWOUkrVwqOCfmplG30N+kopVSPPCvq5OnmKUkrV\nxaOC/sm5cbWmr1RrNHny5FM6Wr344ovcc889de7Xtm1bAJKSkrjmmmtqPXZ9zcFffPFFCgoKTjy/\n5JJLyMrKqmOP1sejgn6yzo2rVKs2a9YsFi5cWGXZwoULmTVrlkv7d+3alY8++qjRr1896H/++eeE\nh4c3+ngtkUc12UzJLSLA14f2wY2bJV4p5eSLRyB5q3uPGXUWTHuu1tXXXHMNjz76KMXFxQQGBnLo\n0CGSkpKYMGECeXl5TJ8+nePHj1NaWsozzzzD9OnTq+x/6NAhLrvsMrZt20ZhYSG33norO3bsYNCg\nQSeGPgC4++67iYuLo7CwkGuuuYYnn3ySf/zjHyQlJTFlyhQiIyNZuXIlPXv2JD4+nsjISF544YUT\no3TOnj2bX/7ylxw6dIhp06YxYcIEfvjhB6Kjo/nss89ODKhWaenSpTzzzDOUlJQQERHB/Pnz6dy5\nM3l5edx///3Ex8cjIjz++OPMmDGDL7/8kt///veUl5cTGRnJihUr3HYJPCrop+YU06ldYLMPaKSU\napyIiAjGjh3Ll19+yfTp01m4cCEzZ85ERAgKCmLx4sW0a9eO9PR0xo8fzxVXXFHr5/2VV14hODiY\nLVu2sGXLFkaOHHli3bPPPkuHDh0oLy/n/PPPZ8uWLTzwwAO88MILrFy5ksjIyCrH2rBhA2+//Tbr\n1q3DGMO4ceOYNGkS7du3Z+/evSxYsIDXX3+dn//853z88cfceOONVfafMGECa9euRUR44403+Mtf\n/sLf/vY3nn76acLCwti61X65Hj9+nLS0NO644w7WrFlDr1693D4+j0cF/ZScIk3tKOUuddTIT6fK\nFE9l0K+sXRtj+P3vf8+aNWvw8fHh6NGjpKSkEBUVVeNx1qxZwwMPPADA0KFDGTp06Il1ixYtYu7c\nuZSVlXHs2DF27NhRZX1133//PVddddWJkT6vvvpqvvvuO6644gp69ep1YmIV56GZnSUmJjJz5kyO\nHTtGSUkJvXr1AuxQy87prPbt27N06VLOO++8E9u4e/hlz8rp5xRpxyylWrkrr7ySFStWnJgVq7KG\nPn/+fNLS0tiwYQObN2+mc+fONQ6n7KymXwEHDx7kr3/9KytWrGDLli1ceuml9R6nrjHKKodlhtqH\nb77//vu577772Lp1K6+99tqJ16tpqOXTPfyyRwX91BydJlGp1q5t27ZMnjyZ2267rcoN3OzsbDp1\n6oS/vz8rV67kp59+qvM45513HvPnzwdg27ZtbNmyBbDDMoeEhBAWFkZKSgpffPHFiX1CQ0PJzc2t\n8ViffvopBQUF5Ofns3jxYiZOnOjyOWVnZxMdHQ3AvHnzTiy/8MIL+de//nXi+fHjxzn77LNZvXo1\nBw8eBNw//LLHBP284jLyiss06CvlAWbNmkVCQgLXXXfdiWU33HAD8fHxjB49mvnz5zNw4MA6j3H3\n3XeTl5fH0KFD+ctf/sLYsWMBOwvWiBEjGDJkCLfddluVYZnnzJnDtGnTmDJlSpVjjRw5kltuuYWx\nY8cybtw4Zs+ezYgRI1w+nyeeeIJrr72WiRMnVrlf8Oijj3L8+HFiY2MZNmwYK1eupGPHjsydO5er\nr76aYcOGMXPmTJdfxxUeM7RyZn4Jjy/Zzs9HxzCxX9Pm2VXKW+nQyq2DDq0MdAgJ4J+zXP/mVUop\nb+Qx6R2llFL106CvlKqipaV8VVVNvT4a9JVSJwQFBZGRkaGBv4UyxpCRkUFQUOMbrHhMTl8p1XQx\nMTEkJiaSlpbW3EVRtQgKCiImJqbR+2vQV0qd4O/vf6InqPJMmt5RSikvokFfKaW8iAZ9pZTyIi2u\nR66IpAF1D6pRt0gg3U3FaQk87XzA887J084HPO+cPO184NRz6mGMqXc4ghYX9JtKROJd6YrcWnja\n+YDnnZOnnQ943jl52vlA489J0ztKKeVFNOgrpZQX8cSgP7e5C+BmnnY+4Hnn5GnnA553Tp52PtDI\nc/K4nL5SSqnaeWJNXymlVC006CullBfxmKAvIheLyG4R2ScijzR3edxBRA6JyFYR2SwiDZ9OrJmJ\nyFsikioi25yWdRCR5SKy1/Fv++YsY0PVck5PiMhRx3XaLCKXNGcZG0JEuonIShHZKSLbReRBx/JW\neZ3qOJ/WfI2CRGS9iCQ4zulJx/JeIrLOcY0+FJEAl47nCTl9EfEF9gBTgUQgDphljNnRrAVrIhE5\nBIw2xrTKTiUich6QB7xrjIl1LPsLkGmMec7x5dzeGPNwc5azIWo5pyeAPGPMX5uzbI0hIl2ALsaY\njSISCmwArgRuoRVepzrO5+e03mskQIgxJk9E/IHvgQeBXwGfGGMWisirQIIx5pX6jucpNf2xwD5j\nzAFjTAmwEJjezGXyesaYNUBmtcXTgXmOx/OwH8hWo5ZzarWMMceMMRsdj3OBnUA0rfQ61XE+rZax\n8hxP/R1/BvgZ8JFjucvXyFOCfjRwxOl5Iq38QjsY4GsR2SAic5q7MG7S2RhzDOwHFOjUzOVxl/tE\nZIsj/dMqUiHViUhPYASwDg+4TtXOB1rxNRIRXxHZDKQCy4H9QJYxpsyxicsxz1OCvtSwrPXnreBc\nY8xIYBpwryO1oFqeV4A+wHDgGPC35i1Ow4lIW+Bj4JfGmJzmLk9T1XA+rfoaGWPKjTHDgRhsZmNQ\nTZu5cixPCfqJQDen5zFAUjOVxW2MMUmOf1OBxdiL3dqlOPKulfnX1GYuT5MZY1IcH8oK4HVa2XVy\n5Ik/BuYbYz5xLG6112zN/SwAAAEySURBVKmm82nt16iSMSYLWAWMB8JFpHIiLJdjnqcE/Tign+Nu\ndgBwHbCkmcvUJCIS4rgRhYiEABcC2+req1VYAtzseHwz8FkzlsUtKoOjw1W0ouvkuEn4JrDTGPOC\n06pWeZ1qO59Wfo06iki443Eb4ALsvYqVwDWOzVy+Rh7RegfA0QTrRcAXeMsY82wzF6lJRKQ3tnYP\ndlrLD1rbOYnIAmAydgjYFOBx4FNgEdAdOAxca4xpNTdGazmnydi0gQEOAXdW5sNbOhGZAHwHbAUq\nHIt/j82Dt7rrVMf5zKL1XqOh2Bu1vtiK+iJjzFOOGLEQ6ABsAm40xhTXezxPCfpKKaXq5ynpHaWU\nUi7QoK+UUl5Eg75SSnkRDfpKKeVFNOgrpZQX0aCvlFJeRIO+Ukp5kf8PSXERs2ihtuMAAAAASUVO\nRK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x292acdf6e10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n81i0aBGzZs3iueeeY8OGDfj7+5frmJXldT13gBb1QtmrPXelfNKxY8eoU6cO4eHh7N+/n3nz5rn8\nGP3792fatGkArF+/vthPBkX16dOHhQsXkpaWRl5eHlOnTmXgwIGkpqZijOF3v/sdzzzzDKtXryY/\nP5/k5GQuueQSXn75ZVJTU8nMrPp45bU993kbD5BfYPD300EZSvmSuLg4YmNj6dy5MzExMfTr18/l\nx/jDH/7ArbfeSteuXYmLi6Nz586nUyrFad68Oc8++yyDBg3CGMPIkSMZMWIEq1ev5o477sAYg4jw\n4osvkpeXx0033cTx48cpKCjgscceo06dOi4/h7J4bA3V+Ph4U9HFOj5fvofHZ6xn6cRLaFY31MUt\nU8o3bd68mY4dO3q6GdVCXl4eeXl5hISEkJiYyLBhw0hMTCQgoHr1d4t7zURklTEmvqznVq8zcVJh\nOeTeI5ka3JVS5XbixAmGDBlCXl4exhjee++9ahfYK8srz6awHHLPkUz6xER5uDVKKW9Tt25dVq1a\n5elmuJVXXlBtWjcUEUjWWnellCqWVwb3oAA/moSHsPeolkMqpVRxnAruIjJcRLaKSJKInDcETETG\niUiqiKxxfE1wfVPPZmvdteeulFLFKTPnLiL+wCTgUiAZWCkis40x5xaGfmmMud8NbSxWi8ha/JyY\nWlWHU0opr+JMz703kGSM2WGMyQGmAle5t1lla1GvFgePnSI7N9/TTVFKOWHQoEHnDUh6/fXXuffe\ne0t9Xu3atQFISUnh+uuvL3HfZZVWv/7662cNJrriiitcMu/L008/zSuvvFLp/biaM8G9GbC3yO1k\nx33nuk5E1onIVyLSorgdicidIpIgIgmpqZXrdReWQ+5L17y7Ut5gzJgxTJ069az7pk6dypgxY5x6\nftOmTfnqq68qfPxzg/u3335L3bp1K7y/6s6Z4F7cENBzRz59DUQbY7oCPwAfFbcjY8z7xph4Y0x8\ngwYNytfSc5ye113z7kp5heuvv545c+Zw6tQpAHbt2kVKSgr9+/c/XXceFxdHly5dmDVr1nnP37Vr\nF507dwYgKyuL0aNH07VrV2688Uayss508u65557T0wU/9dRTALz55pukpKQwePBgBg8eDEB0dDSH\nDx8G4NVXX6Vz58507tz59HTBu3btomPHjvz+97+nU6dODBs27KzjFGfNmjX06dOHrl27cs0113D0\n6NHTx4+NjaVr166nJyxbtGjR6cVKevTowfHjxyv8uy2OM3XuyUDRnnhzIKXoBsaYtCI3JwMvVr5p\npdOpf5WqhLkT4cB61+6zcRe4/IUSH46KiqJ379589913XHXVVUydOpUbb7wRESEkJIQZM2YQHh7O\n4cOH6dOnD6NGjSpxHdF33nmHWrVqsW7dOtatW3fWlL3PP/88kZGR5OfnM2TIENatW8cDDzzAq6++\nysKFC6lfv/5Z+1q1ahVTpkxh+fLlGGO48MILGThwIPXq1SMxMZEvvviCyZMnc8MNNzB9+vRS52e/\n9dZbeeuttxg4cCBPPvkkzzzzDK+//jovvPACO3fuJDg4+HQq6JVXXmHSpEn069ePEydOEBISUp7f\ndpmc6bmvBNqJSGsRCQJGA7OLbiAiTYrcHAVsdl0Ti9ewTjBBAX5aDqmUFymamimakjHG8Pjjj9O1\na1eGDh3Kvn37OHjwYIn7Wbx48ekg27VrV7p27Xr6sWnTphEXF0ePHj3YuHFjmZOCLVmyhGuuuYaw\nsDBq167Ntddey88//wxA69at6d69O1D6tMJg55dPT09n4MCBANx2220sXrz4dBtvvvlmPv3009Mj\nYfv168fDDz/Mm2++SXp6ustHyJa5N2NMnojcD8wD/IEPjDEbReRZIMEYMxt4QERGAXnAEWCcS1tZ\nDD8/oXndUO25K1URpfSw3enqq6/m4YcfZvXq1WRlZZ3ucX/22WekpqayatUqAgMDiY6OLnaa36KK\n69Xv3LmTV155hZUrV1KvXj3GjRtX5n5Km1+rcLpgsFMGl5WWKck333zD4sWLmT17Nn/729/YuHEj\nEydOZMSIEXz77bf06dOHH374gQ4dOlRo/8Vxqs7dGPOtMeYCY0wbY8zzjvuedAR2jDF/NsZ0MsZ0\nM8YMNsZscVkLS9EispZO/auUF6lduzaDBg3i9ttvP+tCakZGBg0bNiQwMJCFCxeye/fuUvczYMCA\n04tgb9iwgXXr1gF2uuCwsDAiIiI4ePAgc+fOPf2cOnXqFJvXHjBgADNnziQzM5OTJ08yY8YMLr74\n4nKfW0REBPXq1Tvd6//kk08YOHAgBQUF7N27l8GDB/PSSy+Rnp7OiRMn2L59O126dOGxxx4jPj6e\nLVtcGza9cm6ZQi0iQ1mz1zNLWCmlKmbMmDFce+21Z1XO3HzzzYwcOZL4+Hi6d+9eZg/2nnvuYfz4\n8XTt2pXu3bvTu3dvwK6q1KNHDzp16nTedMF33nknl19+OU2aNGHhwoWn74+Li2PcuHGn9zFhwgR6\n9OhRagqmJB999BF33303mZmZxMTEMGXKFPLz8xk7diwZGRkYY3jooYeoW7cuf/3rX1m4cCH+/v7E\nxsaeXlXKVbxyyt9C7y3azj/mbmHd08MID/HMUlZKeQud8tf7VGbKX6+cW6aQlkMqpVTxvDu4azmk\nUkoVy7uD++lFO7QcUilneCoNq8qvsq+VVwf3iNBA6gQHaMWMUk4ICQkhLS1NA7wXMMaQlpZWqYFN\nXl0tIyI016l/lXJK8+bNSU5OprLzOqmqERISQvPmzSv8fK8O7gAtI0PZnnrS081QqtoLDAykdevW\nnm6GqiJenZYBe1E1+WimftRUSqkivD+4R9YiO7eA1BOnPN0UpZSqNnwguGvFjFJKncv7g7vWuiul\n1Hm8Prg31+CulFLn8frgHhrkT/3awVrrrpRSRXh9cAebd9ecu1JKneETwb2lzuuulFJn8Yng3qJe\nLfZnZJOXX+DppiilVLXgG8E9MpT8AsP+jNKX01JKqZrCN4K7VswopdRZfCO4Oxbt2KPBXSmlAB8J\n7k0iQvD3E72oqpRSDj4R3AP8/WgSEaLlkEop5eATwR1s3l177kopZflMcG8ZWUt77kop5eAzwb1F\nZCiHT5wiKyff001RSimP86HgbitmkjU1o5RSvhPcC2eH1HJIpZTyoeB+ZtEODe5KKeUzwb1B7WBC\nAv3Ye1QvqiqllM8EdxGheb1a2nNXSimcDO4iMlxEtopIkohMLGW760XEiEi865rovBb1QrXnrpRS\nOBHcRcQfmARcDsQCY0Qktpjt6gAPAMtd3UhntYysRfKRTIwxnmqCUkpVC8703HsDScaYHcaYHGAq\ncFUx2/0NeAnw2Ly7LSJrcfxUHhlZuZ5qglJKVQvOBPdmwN4it5Md950mIj2AFsaYOaXtSETuFJEE\nEUlITU0td2PLcmaxbE3NKKVqNmeCuxRz3+m8h4j4Aa8Bj5S1I2PM+8aYeGNMfIMGDZxvpZMKyyG1\n1l0pVdM5E9yTgRZFbjcHUorcrgN0Bn4SkV1AH2C2Jy6qFo5S1QnElFI1nTPBfSXQTkRai0gQMBqY\nXfigMSbDGFPfGBNtjIkGfgVGGWMS3NLiUoSHBBIRGqjlkEqpGq/M4G6MyQPuB+YBm4FpxpiNIvKs\niIxydwPLq0WklkMqpVSAMxsZY74Fvj3nvidL2HZQ5ZtVcS3q1WLrgeOebIJSSnmcz4xQLdQyshbJ\nR7MoKNBad6VUzeVzwb15ZC1y8gs4dPyUp5uilFIe43PBvUU9x+yQWjGjlKrBfC+4O8oh96RpcFdK\n1Vw+F9yb1dWeu1JK+VxwDwn0p1F4sE5BoJSq0XwuuIMth9Seu1KqJvPN4O6Y+lcppWoqnw3u+49l\nk5NX4OmmKKWUR/hmcK8XijGQkq55d6VUzeSbwV1nh1RK1XA+Hdx1XnelVE3lk8G9cXgIgf6i5ZBK\nqRrLJ4O7v5/QtG6opmWUUjWWTwZ3sLXuWg6plKqpfDe466IdSqkazIeDey2OnMzh5Kk8TzdFKaWq\nnO8G93paDqmUqrl8N7jr1L9KqRrMd4P76UU7NO+ulKp5fDa4R4YFER4SwDZdLFspVQP5bHAXES6M\niWLZjsOebopSSlU5nw3uAH3bRLH3SBZ7td5dKVXD+HRw79e2PgDLtmvvXSlVs/h0cG/XsDYN6gSz\nNCnN001RSqkq5dPBXUTo2yaKZdvTMMZ4ujlKKVVlfDq4A/RrU5/DJ06x7eAJTzdFKaWqjM8H975t\nowBYmqR5d6VUzeHzwb15vVq0iqqlF1WVUjWKU8FdRIaLyFYRSRKRicU8freIrBeRNSKyRERiXd/U\niuvbpj7LdxwhL18XzFZK1QxlBncR8QcmAZcDscCYYoL358aYLsaY7sBLwKsub2kl9GsbxfFTeazb\nl+HppiilVJVwpufeG0gyxuwwxuQAU4Grim5gjDlW5GYYUK1KUy6KsXn3ZZp3V0rVEM4E92bA3iK3\nkx33nUVE7hOR7die+wPF7UhE7hSRBBFJSE1NrUh7KySqdjAdm4SzbLvWuyulagZngrsUc995PXNj\nzCRjTBvgMeCJ4nZkjHnfGBNvjIlv0KBB+VpaSX3bRJGw+yjZuflVelyllPIEZ4J7MtCiyO3mQEop\n208Frq5Mo9yhX9socvIKWLX7qKebopRSbudMcF8JtBOR1iISBIwGZhfdQETaFbk5Akh0XRNdo3fr\nKAL8ROvdlVI1QkBZGxhj8kTkfmAe4A98YIzZKCLPAgnGmNnA/SIyFMgFjgK3ubPRFVE7OIBuLeqy\nVPPuSqkaoMzgDmCM+Rb49pz7nizy84Mubpdb9GsTxdsLk8jIyiUiNNDTzVFKKbfx+RGqRfVtW58C\nA8t3aO9dKeXbalRw79GyLiGBfloSqZTyeTUquAcH+NMrOlLnmVFK+bwaFdzBrs607eAJDh3P9nRT\nlFLKbWpecG9jl977RVMzSikfVuOCe2zTcMJDArTeXSnl02pccPf3Ey5qE8XSJF16Tynlu2pccAeb\nd9+XnsWeI5mebopSSrlFjQzufR1596VJmndXSvmmGhnc2zQIo1F4MEu1JFIp5aNqZHAXEfq1qc8v\n29MoKNC8u1LK99TI4A52KoIjJ3PYevC4808yBqbdBlu+LXtbpZTyoBob3Pu1tUvvlaskct8q2DQT\n1k11U6uUUso1amxwbxIRSkz9sPLNM7Nxhv2+b7V7GqWUUi5SY4M7QN+2USzfkUZufkHZGxsDm2aD\n+EHGXjhxyP0NVEqpCvK+4H78IKz7r0t21bdNfU7m5LMuOb3sjVNWQ8Ye6H6Tva29d6VUNeZ9wX31\nx/C/CXB0V6V3dVFMFCJO1rtvmgV+ATDocdt7T9HgrpSqvrwvuHcfAwis+aLSu6oXFkRsk/CyL6oa\nAxtnQswgiGgGDTpoz10pVa15X3CPaG6D7JrPocCJXHkZ+rWtz2970snKyS95o/1rIX03xF5tbzeL\ns5UzOjeNUqqa8r7gDtBjrM1/7/q50rvq2yaKnPwCVu46UvJGm2aC+EOHEfZ20zjIOmIDvlJKVUPe\nGdw7jIDgCFjzWaV31bt1JIH+UnJJ5OmUzECoFWnvaxZnv+9bVenjK6WUO3hncA8Mhc7X2tLE7GOV\n2lWtoAB6tKhX8tJ7B9bD0Z0Qe9WZ+xp2Av9gzbsrpaot7wzuYFMzeVlnBhZVwsXt6rN+XwY/bS2m\ndv10SmbkmfsCgqBxF0j5rdLHVkopd/De4N6sJ9Rv75LUzO39W9OxcTj3fbaaTSlFPgkUpmSi+0NY\n1PnHT1kDBaVciFVKKQ/x3uAuYgcU7V0OhxMrtauw4AA+GNeLOiGB3P7hSvZnZNkHDm6EI9uh09Xn\nP6lZHOSehNStlTq2Ukq5g/cGd4Buo23KZM3nld5V44gQpozvxYlTedz+YQInTuXZgUvid3ZKplBT\nvaiqlKq+vDu412kMbYfC2qkuSY90bBLOpJvj2HbwOPd9ugqzcSa06ge1G5y/cVRbCA7XkapKqWrJ\nu4M7QI+b4XgKbF/okt0NvKABf7uqMylJa5C0bZjYYlIyAH5+0LS7Vswopaol7w/uFwyH0Hqw5lOX\n7fKmC1vyVMw2CozwSXqXkjds1hMOboDcbJcdWymlXMH7g3tAMHS5AbZ8A5mljDItp345S0iq1ZUn\nfzzMt+v3F79R0zgoyLMBXimlqhGngruIDBeRrSKSJCITi3n8YRHZJCLrRGSBiLRyfVNL0eNmyM+B\nDdNds79DW5DULbS++CZ6tqrHQ1+uYdXuo+dvd3qkqqZmlFLVS5nBXUT8gUnA5UAsMEZEYs/Z7Dcg\n3hjTFfgKeMnVDS1Vk27QqItLat4BWyWDENj5KibfGk+TiBB+/3ECu9NOnr1deDOo3ci7K2bWfgn/\nugjycjzdEqWUCznTc+8NJBljdhhjcoCpwFVFNzDGLDTGZDpu/go0d20zndD9Jjti9OCmyu9r0yxo\n2QfCmxAZFsSU8b0pMIbxU1aSnlkkCIrY1Iw3V8xsng2HNkHyCk+3RFWl7AxI3ebpVig3cia4NwP2\nFrmd7LivJHcAc4t7QETuFJEEEUlITU11vpXO6HqDXUyjsr33w4lwaOOZ6X2B1vXDmHxrPMlHs7jz\n41WcyitSdtksDg5vs/8s3sYY2OsI6kk/eLYtqmr98Ay80xf2r/N0S5SbOBPcpZj7ip3IXETGAvHA\ny8U9box53xgTb4yJb9CgmNrxygirbytn1n0J+bkV38+mmfZ77Kiz7u4VHckrN3Rjxa4jXD1p2ZkF\nPgrz7ilrKn5MT0nfDScPAaLBvSYxBrZ9BwW5MH0C5GZ5ukXKDZwJ7slAiyK3mwMp524kIkOBvwCj\njDGnXNO8cuoxFk6mQuL8iu9j4yxocSGENz3voVHdmvLOzXEcy8rl5n8vZ/yUFSQFXmAf9MbUzN6V\n9nuna+zsl8cPeLY9qmoc2gTH9kGX38HhrTD/SU+3SLmBM8F9JdBORFqLSBAwGphddAMR6QG8hw3s\nxUytWEXaDoWwhhVPzaRth4Prz0rJnOvyLk1Y8MhAHr+iAwm7jzLs3fWkBTUje/fKCjbag5JXQGAY\n9P2DvZ20wLPtUVUj8Xv7/dK/QZ97YcX7lesQqWqpzOBujMkD7gfmAZuBacaYjSLyrIgU5i5eBmoD\n/xWRNSIyu4TduZd/oM29b/sOTlQgp19CSuZcIYH+3DmgDYv/NJjb+kazLKslR7f9ypsLEsnMyatA\nwz0keaVNKzXtYat+NDVTMyTOh8ZdIbwJDHnKrk8w896K/c+oasupOndjzLfGmAuMMW2MMc877nvS\nGDPb8fNQY0wjY0x3x1fp0dGdeoy1A4vWTyv/czfOhOa97DqtTqgXFsRTIzvRd8Awmkgan8xfweBX\nfmLayr3kF1Tz9VVzs2wqpkVvW/XTZghs/1GnMPZ1Wemw51doN8zeDgyB6ybbgoDZf9B1gX2I949Q\nPVfDjrY88bfPyveHemQHHFj15ekmAAAgAElEQVR39opLToq64CIAPh8RSJOIUP5v+jpGvPnzmYuu\n1VHKb/ZNsHlve7vdUMhO1wFZvm7HQjD5Z4I7QKNOMPRp2DYXVk3xVMuUi/lecAc7YvXQRti/1vnn\nbJplv1cguNOkK4gf7XITmXFvX96+qQcnc/IY+5/lfLehml6kLCyBbB5vv8cMttMba2rGtyXOt3Mx\nFb7uhS682/4NfPd4pddHUNWDbwb3ztfZNU7Lc2F10yzb46/bsvzHCwqDhrGwbxUiwpVdm/L9HwfS\nvUVdHpz6G6t2u27OG5dJXgmRMbaEFOzi3816QpJeWPNZBQX2YmqbIeDnf/Zjfn5w9Tt2feLpE8o/\nYjk3Cxa9bN8cVLXgm8E9tB50GAHr/wt5ZVRlFhTY1ZRSfit+xSVnNe1hyyEdqaDQIH/+7Zi6YMJH\nCexIPVHxfbta4eClwpRMobZDbVrmZJpn2qXca/8aWypcNCVTVHgTGPWm3e6nvzu/323z4F99YOFz\n8OskOHZepbTyAN8M7mBTM1lHYdpt8NXt8NkNMOUKePdieLMHvHIBPN8Unq0HkxxBriIpmULN4uzx\nju48fVdU7WA+HN8bEWHclJUcPuGZ8v/zFA5eatHr7PvbDgWMzcsq35M4HxBoO6TkbTqOhB63wJLX\nYdeS0vd3dBd8MQY+v8F+Ur7cMaXUjkWuarGqBN8N7jGD7WCklNV29Ohxx7S9dZrYXvYFwyF+PAyc\nCMOegzFToV50xY/XrKf9fs4Fyej6YfzntngOHc/mjg9XVo9SycLBS+f23Jv2gNBIzbv7qsTv7d9p\nYSquJMNfgMjW8L+7bHXNuXKzYdFLMOlCG8gvfRbuXgK9fg+1omDHT25pviqfAE83wG38/OGO76vu\neA1jISDEpne6XH/WQz1a1uOtMXHc9UkCD3zxG++O7UmAvwffVwsHLzU8Z3JPP39oc4kN7gUFNg+r\nfMPJw3b20kF/Lnvb4Npw7b/hP5fCN4/A9f8581jifPj2T/YTaqdrYNjzEFFkqqnWA21wN8aW2CqP\n0f9eV/EPhMZdSpz+99LYRjxzVWd+2HyIp7/eiPFkPfHeFTaN5F/Me3vboTYve0AnlPIpSQsAA+0u\ndW775j3tG8GGr2DdNDi6G6beDJ9dbyfou2Um/O7DswM7QMxAOHHATqZX3RkDp45Dxj47m+zuX+z1\ng3XTYMVkWPwKLPib115D8N2euyc06wmrP4b8vGID5y19WrHvaBbvLtpO07qh3DuobdW3MSfTrhzV\n78HiHy/Mxyb9YNeIVeWTlQ7pe2x5bHWS+D2ENYAm5XhNL37Y/h3MecgObhOx9fB97oOAoOKfEzPI\nft/xEzRoX6kmu03CB7DgWTtwyxSUvX1eNlz2vPvb5WIa3F2paRwsfxdSt0DjzsVu8n+XtWd/RhYv\nfbeVphGhXN2jtNmT3WD/mrMHL52rdkO7+EnSAhjwaNW2zRfMfxLWfA4PbYQ6jTzdGqsg3wbp9leU\nL9Xm5w/Xvgf/uQxaXgiX/b3s0dv1ou3XjkVw4V2VabV7GAO/vgO16kP8HRAS4fgKP/NzcJH7pt4M\nm7+21+W8LM2kwd2VCi+qpqwuMbj7+QkvXd+Vg8ey+dNXa2lYJ5i+bcu4wOVK5w5eKk7bobZaIjvD\n/pEr5+Tn2sVPCnLht49hwJ883SIrOcGOPnY2JVNUvWh4ZEv5AlvrgbBxRomfYD3q0GabMhrxT+g1\noeztY0fZaRkOrK9+n8bKoDl3V4qMse/6ZQzhDw7w571b4mldP4y7PlnF1gPHq6iBnD94qThth9oh\n6lr1UD67frblsCF1IWGKDW7VQeL3IP7QZnDFnl/eHmvMIDh1zBYXVDcbZ9iR2B2dnP6q/RV2+81f\nu7ddbqDB3ZX8/Gye2ok1VSNCA5kyvje1gv0ZN2UF+zOqYMGEkgYvnat5LwgO15LI8to4E4Jq217h\nsX12dtLqIPF7WxYcWq9qjtd6oP2+86eqOZ6zjLHBPbq/TT86I6w+tOqnwV1hUzOHNtla4LI2rRvK\nlHG9OZ6dx82Tl3PoWNnPqZSSBi+dyz/QVj0kLdBZAp2Vnwdb5sAFl9n1AMKbwcp/e7pVcGy/rXyq\nSEqmosKibOVYdRvMdGgTpCWWul5DsTqOhNTNXjfnjgZ3V2sWZy9YHljv1OaxTcP5cHwvDh7LZvT7\nv7o3wJc0eKk4bS+1vc/ULe5rjy/ZvQQy0+woZ/8A6DnejvQ9nOTZdhV++ippygF3iRkEe5fb6qzq\norwpmUIdrrTfN3tmmYqK0uDuaqdHqpadmikUHx3Jh7f3tgF+shsDfEmDl4pTWBKpK/Q4Z9MsCKxl\n3xQB4m4Fv0BbdudJifOgTlM7rW9Vaj0I8nNgzy9Ve9ySGGPTZtH9oXY512+OaAbN4r0uNaPB3dXC\nm0LtxuVeU7WXI8AfyMhmzORfOXTcDQG+tMFL54poDg06at7dGQX59h//gssgqJa9r04jW2mx5lPP\n9V7zcmD7TzYlU9VlfK0usm9u1eWi/MGNNiXT6ZqKPb/jSHuBOH2va9vlRhrc3aFZXLl67oV6RUfy\n0e292Z+RzZj3XRzgCwcvtXAiJVOo7RDb8zpVjWa0rI52L7Wjes+deK7XBFtOuuErz7Rr76+Qc7zq\nUzJgp8FucSHsrCZ5900zbUqmw8iKPb+j43lb5riuTW6mwd0dmsVBWlLxky6VoVd0JB+OtwH+psnL\nST3uopkkz115yRlth9qP1mXNDljTbZoFAaHnB9GWF9kU2IrJnrkwnfi97T3HDKr6Y4O9KL9/HWR6\neD2D01UyF5c/JVMoqo1da9aLUjMa3N2haZz9vn9NhZ7eu3UkU8b1IiU9izGTf3VNgE8uvJhayuCl\nc7Xqa/PIvpqa2TwHFv69coG3IB82zbapj6Cwsx8TgV532GqVCnySq7TE+RDdz04E5gkxgwADOxd7\n5viFDm60na3KrNcAtve+exmcOOSadrmZBnd3aNrDfq/EP/SFMVFMGdeLfUezuMkVAd6ZwUvnCgiG\n1gPs6ky+VBKZlwNzH4Mvb4ZFLzom1aqgPb/a8tKSAkfXG23te1WXRR7dbSudPJGSKdQ0DoLqeD7v\nXtEqmXPFjgIMbPnGJc1yNw3u7lAr0gbSSi42fWFMFFPG9yLZEeArvNiHs4OXitN2qF2U4ciOih27\nuknfC1Mut3MAXXg3RLSARS9U/M1r00w71XO7y4p/PLgOdBsNG/5XtStcFS6X6Mng7h9gq1M8GdyN\nsa9R9MXl69gUp2Gs/b/2ktSMBnd3aRpne8vHD1ZqN31iovhgnA3w97z7HUd3VuANw9nBS8UpOkuk\nt0ucD+9dbJdV/N1HcPmLdubD5JWw/cfy76+gwKZk2g4tPfXRawLkn7KVM1Ulcb6dFybKAzOPFhUz\nyM79fnS3Z45/cIMjJVPBKpmiRGxqZueiCl1Pq2oa3N0l9io4cRBe62RXtKloisYYLvLfws9tPuGz\n4+MJ/2gIixZ+R26+E1OVFirP4KVzRcbYL28O7gX5dl7uz663I0fvWnQmjdJ9LIQ3h58q0Hvfu9zO\nXV5W4GjYEVr1h5X/sW1xt9xsOzq03TDPz2QYUzgVgYeqZjbOsPPqdKxglcy5Oo6yhQnb5rlmf26k\nwd1dYkfB/avsBbUt38DkS+Dfl8L6r+zsgWXJzoDl78O/LoIPr6D+/p850vEWjkpdGiz8Py55cT7/\n/nkHx7Od2Fd5Bi8Vp+2lsPNnp6ZUqHaOH4SPr4KfX7Frg074wVY+FAoIcvTeV5R/7dhNM+3aoReU\nkJIpqtcd9hNUZfL7ztq9BPKyPJuSKdSgA9Ru5JmpCAoHLrV2QUqmUNM4OyjMC0aranB3p/pt7Uf/\nhzfZxYMz02D6HfB6F1j0MpxIPf85KWvsFKP/7ABz/wSBITDqbXhkC41Hv0Hk794g1m83dwfP47lv\nNtP3Hz/y9283k5JeysRjxQxeMsaw90gmM35L5osVeziVV0qPsu1QGyx2L63EL8MDdi2xaZjkBLjq\nX3DV2xAYev52PcbaHv1PLzrfez8rJVOn7O07XGmDXFVcWE2cb68DRPd3/7HKInJm6b2CcnzadIUD\n6+HIdtekZAr5+dlPAUkLIOek6/brBtVssmUfFRJuFy7o9Xub3lj+Lix8Dha/BJ2vh/jb7RzTCf+x\n6ZuAULsOa/ztNigX4Rc7Cjpcyc1JnxF3y21MWpvPv3/ewQdLdjKyW1MmXNyaTk2LzMHuGLyUf9ED\nbNibTsLuo6zafYSEXUc5VKQCZ/LiHTx3defi55aP7md7qEkLzuTgq7OCAlj2hl1tp15ruGVG6cPv\nA4Jt7/2bR2wQcmZq3OSVcDwFOj3jXJsCgiDuNlj8sr1AXZnF2MuS+L2tcirujcwTYgbB+ml24q4S\n1jlwi00zbUqmogOXStJxJKx4z/4vnztwrRrR4F6V/PzggmH2K3UbrHjfrtqz9nP7eP0LYPiLtroi\ntG7J+7niZZh0IR1XPcnbt8xk7/AOTFm6i6kr9zDjt330axvFhP4xiMCBdQsYXZDH/YsDmLvA9ryb\n1Q3lojZRxLeqR89WkaSeOMWTszZw07+Xc02PZjx+RUca1Ak+c7ygMFvznvQD8Hf3/X5c4dh++PpB\nO6dK7NUw6i375lqWHrfAz6/a0siYQWXnqjfNAv8g51IyhXqOg5//aed6v9TJN4XySttuK5v63Oue\n/VdE0bx7VQX3woFLrQfYWSpdqeVFUCvKVs1ocFfnaXABjHgFhvzV/pHUbWU/RjtzASy8KQx9yvY0\n106lRfcxPDkylgeHtOPzFXuYsnQn4z+0F1HvCfgJAqB194G81TaG+Oh6NIk4v0c3748D+NfCJN5Z\ntJ0Fmw/y2OUdGNOrJX5+jva0uxTmPW7XB63b0oW/CBcxBlZ/BN8/ade8vPwl6H2n8xcUA4Kh/0Pw\n7aN20E1hQCpOQYEN7m2GlG+lqohm0OEK+O0Tu/h0YIjzz3VW4YW+tkNdv++Kimhuq3Z2/AQX3Vc1\nxzyw3r7JlbRWcGX4B9hFPDbNgrxT9m+nGtKcu6eFRNicb+uLy1fZ0PN2O3fHvMfh5GEAImoFcs+g\nNix57BLeHduTzyZcyCOxxyAyhv+7rj8juzUtNrADhAT68/Cw9sx9cACdmkbwlxkbuO7dZWxKOWY3\nKAwW038PPzwNa6faOv7qMO9M2nb4aKTtsTfuAvf+YtNg5a0U6XEL1GlSduVMymo4llyxEY+9Jthr\nL5tmlv+5zkj83n4CjGztnv1XVMwg2LXUuWKCogrybXFBeRVWybg6JVOo4yi72pSnR9+WwqngLiLD\nRWSriCSJyMRiHh8gIqtFJE9Ernd9M9V5/Pxg5Btw6rgN8EUEBfgxvHNj+rWJImBfQrlKINs2rM3n\nv7+Q127sxp60TEa+vYTnv9nEyToxNjBlHYFlb8GMu2DyYPhHM3i1E3xyDcydaKe43bW0auqA8/Ps\nWq/v9IX9a+HK1+G2r8+uhimPwBDo/zDsWWaXzCvJxhl2zpYLhpf/GK0HQlQ791xYTfnNXvRuW4UL\nczgrZhDknrQXt52Vn2vLV1/tVL4gWjhwyR0pmUIxA+1qZZtmle95xthUbBV0isoM7iLiD0wCLgdi\ngTEicm5N3R5gHPC5qxuoStGwo00lrPuy+Dr0Cg5eEhGu6dGcBY8M5Ib4Fkz+eSdDX1vMvOg/wf0r\n4S8H4L6VcOOncMlf7QXXzCOw+mOY8xB8eIWt9ln8sv3Y6g7719o3lx+esumR+5ZD/Hj7plcZcbc6\neu8vFv+4MbZKps0lpV8XKUnhfDPJK21llKuk/GZLPus0rrrUR3lE97dTADg7WtUY+7e0/Ud7zeTT\n6+xcQM44sM6mZFxZJXOuAEcJ7NZvnV8rt6AA5v0FZt5TJVVTzvwn9AaSjDE7jDE5wFTgrKsIxphd\nxph1QBXXOikufsT2BOc8dH5pVmUGLwF1awXxj2u7MP2ei4gIDeSuT1Yx/PXFvPXTLrbT1FYNDHgU\nrn3fDgz6czL8cQOMnW4vGv/4nO1VV2T0Z0lys2D+U/D+YDh+wI40Hf2ZvQ7hCoEh0O+PtlZ8ZzG9\n95TVkLGnchfSuo2xE7Il/Kfi+zirTWvg46vt4uy3zbG5/eomtB406e78YKaf/2mvTQz4E9y9BJp0\ng2m3wG9OjPLdWFglc2Xl2lyWjiNtis2ZBUnycmDGnfDrJDvtRd8H3Ns2nAvuzYCiM9QnO+4rNxG5\nU0QSRCQhNbWYGm9VfoEhNj2Tvgd++sfZj1V28JJDz1aRfP2H/jx3dWdqBwfwz/nbGPLPRQx/fTFv\nLkgk6ZDjI6afH9RtYfPzN3xsg7wxNmUz7TbI2FepdrBrCbzTD5a+bgPkfctt3tvVozB73mYXXFlU\nTO9940ybkulwRcX3H1oXuvwO1v238umrlDW2xx4cDuPmQL1WldufO8UMtJ9YykpJrP8Kfvyb/R0N\n/oudq+nWWRAzGGbdB0vfKPm5hVUyMQPdl5Ip1HaoHU9Q1lwzp47D5zfA+v/CkKdg+AuV/4TpBGeO\nUNx/ToVmWTLGvG+MiTfGxDdoUMF5ldX5ovvZGupfJp39Ub88Ky+VIdDfj7F9WvHVPX359c9DeGpk\nLHVCAnjth20MfXURl722mDd+SCTp0PEzT2o71F7cHPwEbPsO3u5l/zHLc1HtyA745V/w4ZXw4Qg7\n9PuWmXD1JPtP7w6BodD/jzbvXnQue2NsjjVmkO2JVkavCXZg2P9+DxnJFduHNwV2sL+3gjw7bW5J\ndv9i0xat+sFVk868cQeFwZip0OlamP+k/SruoveBdXYum/Iugl0RQWH2b3zz1yUP0DqRav92dy62\nA+kufrjKpoRwJrgnAy2K3G4OpLinOarCLn0WwhrA1w/YHGBFVl5yUuOIEMb3a81/77aB/umRsUSE\nBvL6gm0MfXUxw15bxKvzt5Gw6wi5EggD/2R72a0H2H/Kd/uXvABIQb79B5//JLzdG97sAfP+bCuC\nBv3Zvlk4M8iosnqOsyNKf3rhzH3719jrGK6obW7S1fbgdv4Mky60b2DO5m6hSGCv4x2BHaBFH9vT\nLSnvfjgJpo6xpbY3fnp+iWFAEFz3b4i/w3YSZv/h/N+Zq+eSKUvHUXYwW8pv5z92ZCd8MMxOVDfm\nC+hxc9W0ycGZLt1KoJ2ItAb2AaOBm9zaKlV+oXXtVAf/HQfL37FzYJR35aUKaBQewrh+rRnXrzUH\nj2Uzd/1+vl1/gLd+TOTNBYnUDg6gT0wk/drW5+Khk2kT9zPy3WO2F97lBhj2nF13NGmB7d0nfm/z\nmH4BtvcWP95WpVR1aV9gqM29z/uz7Wm26mt77X4B0GGEa47R5x5bL/3to/Y4a7+wKbZzRiWfZ/9a\n7wvsYFOIJS29d/KwrYwRP7j5vyV/KvPzhxH/tIOIFr8EWUfhuv/YfRdNybjrU925LrjM/k1sngXN\ne565f/9a+PR6KMiF22a7pZNVFjFOzKUhIlcArwP+wAfGmOdF5FkgwRgzW0R6ATOAekA2cMAYU+py\n6/Hx8SYhoRxlUapsxsAXY+w/T7fRtizxT9tdN2lSOaRn5vDL9jSWJB1madJhdqXZRaIbhQczKKY2\n4wv+R/vtUxC/QLuUX0EuhNS1/ywXDLfTHJRngJA75GbB611tVdKts+yniEjHdAauVJjumfuYrW7q\n9Xu45IniR9YWBvag2o7AHu3atrjbz6/Cgmfg0USo3dDel5sNH4+yn0bGzXE+EP76Dnw30X4iHP25\nHe/w/kA7KjnuVvedw7k+udamgv6w2qZcdiyCqTfbv99b/gcN2rv0cCKyyhhT5pJqTgV3d9Dg7iYZ\nyfZjfs4JO1XvA8V8XPSAvUcyWZp0mCVJh1m2PY0jJ3NoLfuZWPtboho0oeVF19IwdqBLrg+41LK3\n4fu/2BGvc/8PRr5pL7i6Q3aGrTBaMdmWNF7+ov3YX5ij3b/OBsHAMBsEq9tAJWfsW2VnSL3uP3b+\npIICmH677XH/7qPyDwxb+6XN0TfuYlNdaz63bxxV1XMHO53EnD/CPctsCmbGXRDZxhYUuKFySYN7\nTbb8PRuIuo6Ga9/zdGvOU1Bg2LT/GEuTDrNoWyq/7LArFPVrU5/fxTfnsk6NCQn093ArHXIy4Y2u\nZxZ5fjTR/VUYyatgzoN2CH27y+xcQtkZ3h/YwV5Team1fdO66m1b1rr0dXvNqKJTBWybB9NutdNO\ntBlie8tV6UQqvNIOmvW0b14t+9gce2UvupdAg3tNVpBvL0jGXuWRXF957UvP4quEZP67ai/JR7MI\nDwng6h7NuCG+BZ2beTg1A3ZE7vdP2GqPW8s5IrGi8vMcs4c+b2/7B9r1SL05sBf6ciykrLWVI3P+\naGc/HfFq5apIdi+D/91pP2FVpky1go6/eyl1DqyA9iPg+v+4dUZODe7K6xQUGH7Zkca0hL3M3XCA\nnLwCYpuEc2OvFlzVvSl1awUBdi76Y1l57D+Wxf6MbA5kZDu+29sHj2WTnVtAfoHBGEO+MeQXUORn\ngzGQX2BoUCeYewe14fqezQnwL6F4LOekzav2e8B1F1Odlb7X5uIPb7UXGiNjqvb47rBisr2ILH62\npz1mavVLx5XD1gPHefadD+mct5G+tzzFwA5N3Ho8De7Kq2Vk5jJ77T6+TNjLhn3HCPL3o2vzCI5k\n5nAgI5vMnLMXFxGBhnWCaRwRSuPwYGoFBeAngp+Av5/g5+f4WQQRwd/Pfq3YeYQ1e9OJaRDGo8Pa\nc3nnxoinl6bzdYeT4O2e0KgL3D7XucVOqqlDx7O5ZtIycvMLqB0SwKncAuY9NIDawe57s9LgrnzG\nxpQM/puQzIZ9GTQKD6FxRAhNIgq/h9IkIoQGdYIJLKnnXQpjDN9vOsgr87aSeOgEXZpF8KfL2nNx\nu/oa5N0oI2EatS8YiH94I083pcKycvIZPflXth04zrS7LiInv4Dr313G2Atb8ber3TdvvbPB3Xs/\nC6kao1PTCDqNck/uXUS4rFNjhnZsxIzf9vHa/G3c+sEKLoqJ4v+Gt6dHS/dcFKup8vILeGNBIpMW\nhtGu4VaeuNKPi9t532j1ggLDw9PWsC45nffG9qRLc/v3eXu/1vxnyU5GdG1Cnxg3X3gvg/bclSri\nVF4+ny/fw9s/JpF2ModhsY149LL2XNDIe1MH1cXeI5k8OPU3Vu9J54oujdmw7xh7jmQypENDHh/R\nkTYNanu6iU578bstvPPTdp4Y0ZEJF5+5DpKVk8/wN+z0xN89OIDQINdXfWlaRqlKOHEqjw+W7OT9\nxTvIzMnjmh7Nua1vKzo3jTizOlUl7EnLZNn2w8S1qlcj3jhmrdnHEzM2APD8tV0Y1a0pp/Ly+XDp\nLt76MYns3HxuuagVDw5pd/rCeXU1beVe/m/6Om66sCXPX935vPTdL9vTGDP5V35/cWv+MqJyk/YV\nR4O7Ui5w5GQO7/yUxEe/7CYnr4BG4cEM7diIS2MbcVGbKIIDnOuZGWPYmHKM7zcd5PuNB9hywE6w\nJgJXd2/GH4e2o1VUmDtPxSNOnMrjqVkbmb46mZ6t6vH6jd1pEVnrrG0OnzjFq/O3MXXFHsJDA/nj\nkHbc3KdVha6huNuypMM2bdcmig/G9SqxjX+ZsZ4vVuxh+j19XZ7a0+CulAsdPZnDj1sOMX/TQRYn\nppKZk09YkD8D2zdgaMdGXNKh4Xk9zrz8AlbuOsr3mw7w/caD7EvPwk8gPjqSYbGN6NumPrPW7uOj\nZbvIyzfc0KsFD1zSjsYRblhb1QPW7k3ngam/sfdIJvdf0o4HLmlbcrkpsOXAMf42ZxNLk9Jo0yCM\nv4zoyOD2DavNhe2kQye49l9LaRwRwlf39CU8JLDEbY9n53LZa4sJCw5gzgP9ne4EOEODu1Jukp2b\nzy/b05i/+SA/bDrIoeOn8PcTekXXY2jHRjSrG8oPmw+xYMtB0jNzCQrwY0C7+gyLbcyQjg2Jqn32\nbIeHjmXz9sIkvlixBxHh1j6tuGdQm/O2K82h49ks33GEdcnpDLiggUcvUhYUGN5bvIN/fr+VhnWC\neX10D3q3dm46AGMMCzYf4vlvN7Pz8EkublefB4a0I6Z+GJFhQR4L9GknTnHNv5aRmZPHjHv7nffp\nozg/bT3EuCkr+cMlbXlkmOvml9HgrlQVKCgwrN+XwfxNB/lh88HT6ZbwkACGdmzEsE6NuLhdA8Kc\nqHveeySTNxYk8r/VyYQG+nNH/9ZMGBBTbA/x0LFsft15hF93pLF8RxrbU+0qXH4CBQYujW3EX0fE\n0jKq7CDkSgePZfPQl2tYtj2NK7o05h/XdCWiVsk93JLk5BXwya+7eeOHbRzLttP6Bgf40aSw/LVu\nCE3P+d4kIpSI0PIfqyzZufnc/O/lbNiXwdQ7+5QrzfLItLXMXLOP2ff3o1NT11R8aXBXygP2pGVy\n8Hg23VvUrXDOOOnQCV6bv41v1u8nIjSQuwe24cquTfhtbzq/7kjj1x1p7HAE8zrBAfRqHUmfmEj6\nxETRrmEdPly2i7d+TCSvwHDnxTHcO7gNtYIqX/Wcl1/Asew80jNzSM/Ktd8zcx1fORzNzGXOuhSy\ncwt4elQsN8S3qHRP++jJHJbvTCMlPZv9GVmkZGSzP/3MSOSCc8LXzRe25MmRsS5LgxhjeHDqGmav\nTWHSTXGM6Fq+0afpmTkMfXUxjcKDmXlfP5dcR9DgrpSX27Avg39+v5WFW88sSXluMI9tEl5sHvvg\nsWxemLuFGb/to0lECH++oiMjuzZxOtgaYz+RzN1wgB83H2J/RtbpHnRxRCAiNJD2jerw/DVdaNvQ\n/WWNefkFHDp+ygb99GxW7DzCJ7/upluLurxzcxxN61ZufhdjDK/O38ZbPybxp8vac9/gthXaz3cb\nDnD3p6sqtY+iNLgr5SNW7T7C+uQM4lrVKzGYlyRh1xGe/nojG/Ydo3d0JE+Nii0xPVBQYFi95yhz\nNxzguw0H2Jeehb+fcLRAM7UAAAa6SURBVFFMFG0b1qZurUDqhgZSt1aQ/blWkON2IOEhgS4pEa2s\n7zbs59H/riMowI+3xvSgX9uKrWWw90gmT87awMKtqfyuZ3Neur5rpT6F3Pf5auZvPMg3D/SnXSVL\nXzW4K6UAO0HatIS9vDxvK+mZOdx0YUseubQ99cKCyMsvYMXOI8zdcIB5Gw9w6Pgpgvz9uLhdfYZ3\nbsylsY2qfd35ubannuDuT1axPfUEj17WnnsGtnE6MOfkFTD55x28uSCRAD/hoUsvYFzf6HK9oRbn\n8IlTXPrqIqLrh/HV3X3xr8QboQZ3pdRZMjJzee2HbXzy625qBwcw8IIG/JyYytHMXEID/RnUvgHD\nOzfmkg4NqVNKmZ83OHkqj8emr2POuv1c1qkRL/+uW6mli2AHHz0xcz3bU09yRZfG/PXKWJpEuG7q\n3llr9vHg1DXnjWotLw3uSqlibT1wnL/N2cT6fRkMat+Ayzs3ZuAFDd0yVN6TjDF8sHQXf/92My0j\na/Hu2J60b3x+SuTwiVP8/ZvN/O+3fbSIDOXZUZ0Z3KGhW9rz+48TWJJ0mHl/HFDhQWsa3JVSClix\n8wj3fb6aE9l5vHBdF67qbpe+KygwfLFyDy/O3UJWbj53DWjDfYPbuvVN7kBGNsPfWMzE4R0Y3btl\nhfahwV0ppRwOHcvm3s9Wk7D7KOP7RXNNj2Y8NXsjv+1Jp09MJM9d3Zm2Datmjp+MrNxK1eNrcFdK\nqSJy8wv4+7ebmbJ0FwBRYUE8cWVHru7erNpMceAMnc9dKaWKCPT346mRnegVHcm65AzuGdimQqNn\nvYUGd6VUjXJFlyZc0cW965xWB9VvTk2llFKVpsFdKaV8kAZ3pZTyQRrclVLKB2lwV0opH6TBXSml\nfJAGd6WU8kEa3JVSygd5bPoBEUkFdlfw6fWBwy5sTnXga+fka+cDvndOvnY+4HvnVNz5tDLGlLkC\nuseCe2WISIIzcyt4E187J187H/C9c/K18wHfO6fKnI+mZZRSygdpcFdKKR/krcH9fU83wA187Zx8\n7XzA987J184HfO+cKnw+XplzV0opVTpv7bkrpZQqhQZ3pZTyQV4X3EVkuIhsFZEkEZno6fZUlojs\nEpH1IrJGRLxy3UER+UBEDonIhiL3RYrIfBFJdHyv58k2lkcJ5/O0iOxzvE5rROQKT7axvESkhYgs\nFJHNIrJRRB503O+Vr1Mp5+O1r5OIhIjIChFZ6zinZxz3txaR5Y7X6EsRCXJqf96UcxcRf2AbcCmQ\nDKwExhhjNnm0YZUgIruAeGOM1w68EJEBwAngY2NMZ8d9LwFHjDEvON6E6xljHvNkO51Vwvk8DZww\nxrziybZVlIg0AZoYY1aLSB1gFXA1MA4vfJ1KOZ8b8NLXSexCrmHGmBMiEggsAR4EHgb+Z4yZKiLv\nAmuNMe+UtT9v67n3BpKMMTuMMTnAVOAqD7epxjPGLAaOnHP3VcBHjp8/wv7jeYUSzserGWP2G2NW\nO34+DmwGmuGlr1Mp5+O1jHXCcTPQ8WWAS4CvHPc7/Rp5W3BvBuwtcjsZL39BsS/e9yKySkTu9HRj\nXKiRMWY/2H9EoKGH2+MK94vIOkfaxivSF8URkWigB7AcH3idzjkf8OLXSUT8RWQNcAiYD2wH0o0x\neY5NnI553hbcpZj7vCevVLx+xpg44HLgPkdKQFU/7wBtgO7AfuCfnm1OxYhIbWA68EdjzDFPt6ey\nijkfr36djDH5xpjuQHNspqJjcZs5sy9vC+7JQIsit5sDKR5qi0sYY1Ic3w8BM7AvqC846MiLFuZH\nD3m4PZVijDno+McrACbjha+TI487HfjMGPM/x91e+zoVdz6+8DoBGGPSgZ+APkBdEQlwPOR0zPO2\n4L4SaOe4ehwEjAZme7hNFSYiYY6LQYhIGDAM2FD6s7zGbOA2x8+3AbM82JZKKwyADtfw/+3cMUoE\nQRBG4VesiZkIpgYewBMYbOARNBDMvYOJIJiKF9BQZaO9gYEHMDAwFTOPYGIZdAsm6y4mUs37omFm\nGKYp+OnpaqZYnXqz7hp4yczLH5dK1mnReCrXKSK2ImKjH68D+7RewgNw0G9buUaldssA9K1NV8AE\nuMnMi39+pT+LiB3abB1gDbitOJ6IuAOmtN+TvgNnwByYAdvAG3CYmSWalAvGM6V96ifwCpx8r1VX\nEBF7wCPwDHz206e0depydfplPEcUrVNE7NIaphPaxHuWmec9J+6BTeAJOM7Mj6XPqxbukqTlqi3L\nSJJWYLhL0oAMd0kakOEuSQMy3CVpQIa7JA3IcJekAX0BuOnzSiU4Gj0AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x292ace18198>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "acc = history.history['acc']\n",
    "val_acc = history.history['val_acc']\n",
    "loss = history.history['loss']\n",
    "val_loss = history.history['val_loss']\n",
    "\n",
    "epochs = range(len(acc))\n",
    "\n",
    "plt.plot(epochs, acc, label='Training acc')\n",
    "plt.plot(epochs, val_acc, label='Validation acc')\n",
    "plt.title('Training and validation accuracy')\n",
    "plt.legend()\n",
    "\n",
    "plt.figure()\n",
    "\n",
    "plt.plot(epochs, loss, label='Training loss')\n",
    "plt.plot(epochs, val_loss, label='Validation loss')\n",
    "plt.title('Training and validation loss')\n",
    "plt.legend()\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "如您所見，我們的驗證準確率達到了96％。這比我們從頭開始訓練的小型卷積網絡(convnets)要更好。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 微調 (fine-tuning)\n",
    "\n",
    "另一種廣泛使用的模型重覆利用技術，與_特徵提取(feature extraction)_相輔相成，是 _(微調) fine-tuning_。\n",
    "\n",
    "微調包括解凍用於特徵提取的凍結模型庫中的幾個頂層(top layers)，並且共同訓練新添加的模型部分（在我們的範例中是完全連接的分類器）和這些頂層。這被稱為“微調(fine-tuning)”，因為它稍微調整正在重複使用的模型中更抽象的表示，以使它們與當前的要處理的問題更相關。\n",
    "\n",
    "![fine-tuning VGG16](https://s3.amazonaws.com/book.keras.io/img/ch5/vgg16_fine_tuning.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "之前我們已經說過，必須凍結VGG16的“卷積基底”，才能在上面訓練一個隨機初始化的分類器。出於同樣的原因，一旦分類器已經被訓練，只能微調“卷積基底”的頂層。如果分類尚未被訓練，則在訓練期間通過網絡傳播的誤差信號將會變得太大，並且被微調那些神經層先前學習的表示(representation)將被破壞。因此，微調網絡的步驟如下：\n",
    "\n",
    "1. 將自定義網絡添加到已經訓練好的基底網絡之上。\n",
    "2. 凍結基底網絡。\n",
    "3. 訓練您添加的部分。\n",
    "4. 解凍基底網絡中的一些神經層。\n",
    "5. 共同訓練這些層和您添加的部分。\n",
    "\n",
    "在進行特徵提取時，我們已經完成了前3個步驟。我們繼續第四步：我們將解凍我們的`conv_base`，然後凍結其中的某些特定的層。\n",
    "\n",
    "作為一個提醒，這是我們的“卷積基底”看起來的樣貌："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "input_1 (InputLayer)         (None, 150, 150, 3)       0         \n",
      "_________________________________________________________________\n",
      "block1_conv1 (Conv2D)        (None, 150, 150, 64)      1792      \n",
      "_________________________________________________________________\n",
      "block1_conv2 (Conv2D)        (None, 150, 150, 64)      36928     \n",
      "_________________________________________________________________\n",
      "block1_pool (MaxPooling2D)   (None, 75, 75, 64)        0         \n",
      "_________________________________________________________________\n",
      "block2_conv1 (Conv2D)        (None, 75, 75, 128)       73856     \n",
      "_________________________________________________________________\n",
      "block2_conv2 (Conv2D)        (None, 75, 75, 128)       147584    \n",
      "_________________________________________________________________\n",
      "block2_pool (MaxPooling2D)   (None, 37, 37, 128)       0         \n",
      "_________________________________________________________________\n",
      "block3_conv1 (Conv2D)        (None, 37, 37, 256)       295168    \n",
      "_________________________________________________________________\n",
      "block3_conv2 (Conv2D)        (None, 37, 37, 256)       590080    \n",
      "_________________________________________________________________\n",
      "block3_conv3 (Conv2D)        (None, 37, 37, 256)       590080    \n",
      "_________________________________________________________________\n",
      "block3_pool (MaxPooling2D)   (None, 18, 18, 256)       0         \n",
      "_________________________________________________________________\n",
      "block4_conv1 (Conv2D)        (None, 18, 18, 512)       1180160   \n",
      "_________________________________________________________________\n",
      "block4_conv2 (Conv2D)        (None, 18, 18, 512)       2359808   \n",
      "_________________________________________________________________\n",
      "block4_conv3 (Conv2D)        (None, 18, 18, 512)       2359808   \n",
      "_________________________________________________________________\n",
      "block4_pool (MaxPooling2D)   (None, 9, 9, 512)         0         \n",
      "_________________________________________________________________\n",
      "block5_conv1 (Conv2D)        (None, 9, 9, 512)         2359808   \n",
      "_________________________________________________________________\n",
      "block5_conv2 (Conv2D)        (None, 9, 9, 512)         2359808   \n",
      "_________________________________________________________________\n",
      "block5_conv3 (Conv2D)        (None, 9, 9, 512)         2359808   \n",
      "_________________________________________________________________\n",
      "block5_pool (MaxPooling2D)   (None, 4, 4, 512)         0         \n",
      "=================================================================\n",
      "Total params: 14,714,688\n",
      "Trainable params: 0\n",
      "Non-trainable params: 14,714,688\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "conv_base.summary()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我們將微調(fine-tuning)最後3個卷積層，這意味著所有層直到`block4_pool`都應該被凍結，而`block5_conv1`，`block5_conv2`和`block5_conv3`的層應該是可訓練的。\n",
    "\n",
    "為什麼不調整更多層? 為什麼不調整整個“卷積基底”? 我們可以。但是，我們需要考慮：\n",
    "\n",
    "* “卷積基底”中較前面的神經層所學習到的特徵表示更加通用(generic)，更具有可重複使用的特徵，而較高層次的特徵表示則聚焦獨特的特徵。微調這些聚焦獨特的特徵的神經層則更為有用，因為這些功能是需要重新被訓練來解決我們的新問題。微調愈底層則從既有預訓練模型所得到的回報會愈少。\n",
    "\n",
    "* 我們訓練的參數越多，我們越有可能的過擬合(overfitting)。VGG16的“卷積基底”具有1千5百萬的參數，因此嘗試在小數據集上進行訓練是有風險的。\n",
    "\n",
    "因此，在這樣的情況下，只有在“卷積基底”中微調頂部2到3層是一個很好的策略。\n",
    "\n",
    "讓我們設定一下，從上一個例子中我們離開的地方開始："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "input_1: False\n",
      "block1_conv1: False\n",
      "block1_conv2: False\n",
      "block1_pool: False\n",
      "block2_conv1: False\n",
      "block2_conv2: False\n",
      "block2_pool: False\n",
      "block3_conv1: False\n",
      "block3_conv2: False\n",
      "block3_conv3: False\n",
      "block3_pool: False\n",
      "block4_conv1: False\n",
      "block4_conv2: False\n",
      "block4_conv3: False\n",
      "block4_pool: False\n",
      "block5_conv1: True\n",
      "block5_conv2: True\n",
      "block5_conv3: True\n",
      "block5_pool: True\n"
     ]
    }
   ],
   "source": [
    "conv_base.trainable = True # 解凍 \"卷積基底\"\n",
    "\n",
    "# 所有層直到block4_pool都應該被凍結，而 block5_conv1，block5_conv2, block5_conv3 及 block5_pool則被解凍        \n",
    "layers_frozen = ['block5_conv1','block5_conv2', 'block5_conv3', 'block5_pool']\n",
    "for layer in conv_base.layers:\n",
    "    if layer.name in layers_frozen:\n",
    "        layer.trainable = True\n",
    "    else:\n",
    "        layer.trainable = False\n",
    "        \n",
    "# 把每一層是否可以被\"trainable\"的flat打印出來\n",
    "for layer in conv_base.layers:\n",
    "    print(\"{}: {}\".format(layer.name, layer.trainable))        \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "現在我們可以開始微調我們的網絡。我們將使用非常低的學習率(learning rate)來使用RMSprop優化器。使用低學習率的原因是我們希望限制我們對我們進行微調的3個卷積層表示(representation)所做的修改的大小幅度。太大的更新可能會損害這些表示(representations)。\n",
    "\n",
    "現在我們開始微調："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/100\n",
      "100/100 [==============================] - 16s 158ms/step - loss: 0.0199 - acc: 0.9925 - val_loss: 0.1251 - val_acc: 0.9720\n",
      "Epoch 2/100\n",
      "100/100 [==============================] - 12s 124ms/step - loss: 0.0161 - acc: 0.9940 - val_loss: 0.1194 - val_acc: 0.9710\n",
      "Epoch 3/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0168 - acc: 0.9935 - val_loss: 0.1030 - val_acc: 0.9760\n",
      "Epoch 4/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0110 - acc: 0.9960 - val_loss: 0.1464 - val_acc: 0.9740\n",
      "Epoch 5/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0207 - acc: 0.9935 - val_loss: 0.0770 - val_acc: 0.9800\n",
      "Epoch 6/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0063 - acc: 0.9980 - val_loss: 0.1555 - val_acc: 0.9710\n",
      "Epoch 7/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0115 - acc: 0.9970 - val_loss: 0.1300 - val_acc: 0.9800\n",
      "Epoch 8/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0100 - acc: 0.9965 - val_loss: 0.2273 - val_acc: 0.9640\n",
      "Epoch 9/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0068 - acc: 0.9985 - val_loss: 0.1106 - val_acc: 0.9800\n",
      "Epoch 10/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0120 - acc: 0.9975 - val_loss: 0.1679 - val_acc: 0.9770\n",
      "Epoch 11/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0096 - acc: 0.9965 - val_loss: 0.1158 - val_acc: 0.9820\n",
      "Epoch 12/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0153 - acc: 0.9950 - val_loss: 0.1113 - val_acc: 0.9730\n",
      "Epoch 13/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0122 - acc: 0.9970 - val_loss: 0.1511 - val_acc: 0.9720\n",
      "Epoch 14/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0058 - acc: 0.9985 - val_loss: 0.1274 - val_acc: 0.9790\n",
      "Epoch 15/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0155 - acc: 0.9960 - val_loss: 0.1599 - val_acc: 0.9770\n",
      "Epoch 16/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0155 - acc: 0.9955 - val_loss: 0.1356 - val_acc: 0.9770\n",
      "Epoch 17/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0081 - acc: 0.9990 - val_loss: 0.1620 - val_acc: 0.9740\n",
      "Epoch 18/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0103 - acc: 0.9970 - val_loss: 0.1194 - val_acc: 0.9780\n",
      "Epoch 19/100\n",
      "100/100 [==============================] - 12s 124ms/step - loss: 0.0052 - acc: 0.9980 - val_loss: 0.1948 - val_acc: 0.9650\n",
      "Epoch 20/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0086 - acc: 0.9965 - val_loss: 0.1011 - val_acc: 0.9770\n",
      "Epoch 21/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0056 - acc: 0.9990 - val_loss: 0.1718 - val_acc: 0.9730\n",
      "Epoch 22/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0118 - acc: 0.9965 - val_loss: 0.1303 - val_acc: 0.9810\n",
      "Epoch 23/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0165 - acc: 0.9945 - val_loss: 0.1250 - val_acc: 0.9740\n",
      "Epoch 24/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0167 - acc: 0.9935 - val_loss: 0.1948 - val_acc: 0.9680\n",
      "Epoch 25/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0082 - acc: 0.9980 - val_loss: 0.1354 - val_acc: 0.9730\n",
      "Epoch 26/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0159 - acc: 0.9965 - val_loss: 0.1519 - val_acc: 0.9770\n",
      "Epoch 27/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0124 - acc: 0.9965 - val_loss: 0.1348 - val_acc: 0.9770\n",
      "Epoch 28/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0049 - acc: 0.9980 - val_loss: 0.1189 - val_acc: 0.9770\n",
      "Epoch 29/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0069 - acc: 0.9980 - val_loss: 0.1780 - val_acc: 0.9730\n",
      "Epoch 30/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0150 - acc: 0.9950 - val_loss: 0.1309 - val_acc: 0.9810\n",
      "Epoch 31/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0120 - acc: 0.9975 - val_loss: 0.1238 - val_acc: 0.9750\n",
      "Epoch 32/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0160 - acc: 0.9970 - val_loss: 0.1229 - val_acc: 0.9790\n",
      "Epoch 33/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0079 - acc: 0.9970 - val_loss: 0.1383 - val_acc: 0.9760\n",
      "Epoch 34/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0032 - acc: 0.9985 - val_loss: 0.1518 - val_acc: 0.9750\n",
      "Epoch 35/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0084 - acc: 0.9960 - val_loss: 0.1595 - val_acc: 0.9770\n",
      "Epoch 36/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0034 - acc: 0.9980 - val_loss: 0.1687 - val_acc: 0.9790\n",
      "Epoch 37/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0089 - acc: 0.9970 - val_loss: 0.1846 - val_acc: 0.9760\n",
      "Epoch 38/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0063 - acc: 0.9980 - val_loss: 0.1658 - val_acc: 0.9790\n",
      "Epoch 39/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0130 - acc: 0.9970 - val_loss: 0.1091 - val_acc: 0.9800\n",
      "Epoch 40/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0087 - acc: 0.9985 - val_loss: 0.1572 - val_acc: 0.9770\n",
      "Epoch 41/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0099 - acc: 0.9975 - val_loss: 0.1985 - val_acc: 0.9720\n",
      "Epoch 42/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0136 - acc: 0.9965 - val_loss: 0.1644 - val_acc: 0.9730\n",
      "Epoch 43/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0105 - acc: 0.9970 - val_loss: 0.1270 - val_acc: 0.9770\n",
      "Epoch 44/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0094 - acc: 0.9955 - val_loss: 0.1338 - val_acc: 0.9760\n",
      "Epoch 45/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0049 - acc: 0.9975 - val_loss: 0.2050 - val_acc: 0.9750\n",
      "Epoch 46/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0079 - acc: 0.9980 - val_loss: 0.1457 - val_acc: 0.9760\n",
      "Epoch 47/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0062 - acc: 0.9975 - val_loss: 0.1625 - val_acc: 0.9780\n",
      "Epoch 48/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0099 - acc: 0.9955 - val_loss: 0.1968 - val_acc: 0.9690\n",
      "Epoch 49/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0069 - acc: 0.9980 - val_loss: 0.1924 - val_acc: 0.9730\n",
      "Epoch 50/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0053 - acc: 0.9990 - val_loss: 0.1650 - val_acc: 0.9750\n",
      "Epoch 51/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0071 - acc: 0.9980 - val_loss: 0.1537 - val_acc: 0.9780\n",
      "Epoch 52/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0020 - acc: 0.9990 - val_loss: 0.1584 - val_acc: 0.9750\n",
      "Epoch 53/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0054 - acc: 0.9985 - val_loss: 0.1506 - val_acc: 0.9770\n",
      "Epoch 54/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0035 - acc: 0.9990 - val_loss: 0.2061 - val_acc: 0.9720\n",
      "Epoch 55/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0095 - acc: 0.9965 - val_loss: 0.1906 - val_acc: 0.9780\n",
      "Epoch 56/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0100 - acc: 0.9980 - val_loss: 0.1891 - val_acc: 0.9780\n",
      "Epoch 57/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0053 - acc: 0.9985 - val_loss: 0.1921 - val_acc: 0.9720\n",
      "Epoch 58/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0111 - acc: 0.9980 - val_loss: 0.1746 - val_acc: 0.9760\n",
      "Epoch 59/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0235 - acc: 0.9965 - val_loss: 0.1541 - val_acc: 0.9740\n",
      "Epoch 60/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0025 - acc: 0.9985 - val_loss: 0.2268 - val_acc: 0.9740\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 61/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0093 - acc: 0.9975 - val_loss: 0.1608 - val_acc: 0.9750\n",
      "Epoch 62/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0116 - acc: 0.9965 - val_loss: 0.2105 - val_acc: 0.9780\n",
      "Epoch 63/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0018 - acc: 0.9985 - val_loss: 0.1753 - val_acc: 0.9770\n",
      "Epoch 64/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0100 - acc: 0.9975 - val_loss: 0.1611 - val_acc: 0.9750\n",
      "Epoch 65/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0044 - acc: 0.9985 - val_loss: 0.1759 - val_acc: 0.9740\n",
      "Epoch 66/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0124 - acc: 0.9980 - val_loss: 0.1397 - val_acc: 0.9770\n",
      "Epoch 67/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0037 - acc: 0.9990 - val_loss: 0.1540 - val_acc: 0.9820\n",
      "Epoch 68/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0105 - acc: 0.9975 - val_loss: 0.1686 - val_acc: 0.9760\n",
      "Epoch 69/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0019 - acc: 0.9990 - val_loss: 0.1946 - val_acc: 0.9740\n",
      "Epoch 70/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0033 - acc: 0.9985 - val_loss: 0.1601 - val_acc: 0.9770\n",
      "Epoch 71/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0052 - acc: 0.9985 - val_loss: 0.1770 - val_acc: 0.9730\n",
      "Epoch 72/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0092 - acc: 0.9985 - val_loss: 0.1550 - val_acc: 0.9770\n",
      "Epoch 73/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0015 - acc: 0.9995 - val_loss: 0.1952 - val_acc: 0.9780\n",
      "Epoch 74/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0044 - acc: 0.9980 - val_loss: 0.2882 - val_acc: 0.9660\n",
      "Epoch 75/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0036 - acc: 0.9980 - val_loss: 0.1106 - val_acc: 0.9840\n",
      "Epoch 76/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0065 - acc: 0.9985 - val_loss: 0.1861 - val_acc: 0.9760\n",
      "Epoch 77/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0069 - acc: 0.9975 - val_loss: 0.1930 - val_acc: 0.9700\n",
      "Epoch 78/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0065 - acc: 0.9975 - val_loss: 0.1809 - val_acc: 0.9810\n",
      "Epoch 79/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0060 - acc: 0.9970 - val_loss: 0.2303 - val_acc: 0.9750\n",
      "Epoch 80/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0089 - acc: 0.9985 - val_loss: 0.1410 - val_acc: 0.9760\n",
      "Epoch 81/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0077 - acc: 0.9975 - val_loss: 0.1806 - val_acc: 0.9770\n",
      "Epoch 82/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0136 - acc: 0.9970 - val_loss: 0.1527 - val_acc: 0.9740\n",
      "Epoch 83/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0035 - acc: 0.9985 - val_loss: 0.1521 - val_acc: 0.9750\n",
      "Epoch 84/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0013 - acc: 0.9995 - val_loss: 0.1876 - val_acc: 0.9710\n",
      "Epoch 85/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0038 - acc: 0.9980 - val_loss: 0.1673 - val_acc: 0.9750\n",
      "Epoch 86/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0112 - acc: 0.9970 - val_loss: 0.1549 - val_acc: 0.9830\n",
      "Epoch 87/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0016 - acc: 0.9995 - val_loss: 0.1500 - val_acc: 0.9760\n",
      "Epoch 88/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0047 - acc: 0.9985 - val_loss: 0.1684 - val_acc: 0.9810\n",
      "Epoch 89/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0063 - acc: 0.9990 - val_loss: 0.2240 - val_acc: 0.9680\n",
      "Epoch 90/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0021 - acc: 0.9995 - val_loss: 0.1197 - val_acc: 0.9820\n",
      "Epoch 91/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0028 - acc: 0.9985 - val_loss: 0.1578 - val_acc: 0.9820\n",
      "Epoch 92/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0090 - acc: 0.9980 - val_loss: 0.1444 - val_acc: 0.9790\n",
      "Epoch 93/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0036 - acc: 0.9990 - val_loss: 0.2080 - val_acc: 0.9760\n",
      "Epoch 94/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0071 - acc: 0.9975 - val_loss: 0.1035 - val_acc: 0.9790\n",
      "Epoch 95/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0071 - acc: 0.9980 - val_loss: 0.1643 - val_acc: 0.9750\n",
      "Epoch 96/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0036 - acc: 0.9985 - val_loss: 0.1605 - val_acc: 0.9800\n",
      "Epoch 97/100\n",
      "100/100 [==============================] - 12s 123ms/step - loss: 0.0035 - acc: 0.9995 - val_loss: 0.1351 - val_acc: 0.9830\n",
      "Epoch 98/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0088 - acc: 0.9980 - val_loss: 0.1895 - val_acc: 0.9740\n",
      "Epoch 99/100\n",
      "100/100 [==============================] - 12s 121ms/step - loss: 0.0050 - acc: 0.9980 - val_loss: 0.2068 - val_acc: 0.9730\n",
      "Epoch 100/100\n",
      "100/100 [==============================] - 12s 122ms/step - loss: 0.0066 - acc: 0.9985 - val_loss: 0.1801 - val_acc: 0.9710\n"
     ]
    }
   ],
   "source": [
    "model.compile(loss='binary_crossentropy',\n",
    "              optimizer=optimizers.RMSprop(lr=1e-5), # 使用小的learn rate\n",
    "              metrics=['acc'])\n",
    "\n",
    "history = model.fit_generator(\n",
    "      train_generator,\n",
    "      steps_per_epoch=100,\n",
    "      epochs=100,\n",
    "      validation_data=validation_generator,\n",
    "      validation_steps=50)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "model.save('cats_and_dogs_small_4.h5')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我們使用相同的繪圖代碼繪製我們的結果："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nwWKxWCwO/x8orrX1R5QSEQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x292acde1048>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nE6Chwtfop+dGJ2M+fia8eWdk+zQeUcY+zfpDWgsnhUAb/cyi6Don/fvZPzOoDJ6KONL0E5bWenVR\npGYqoxvJYs+xxCNPyOi8C4+8E8eevttSvG3NyrAOmwkI955+Rr6abxGs46vepYKQOYPU8+RUKD4m\n8rK3dp3YSVISDJ7kzVIpGasxerdJAAAgAElEQVSkDft0fI2eT5Cep/5n5qsRW2u9ckC00Sg8WgUg\nuzqKa21UyQJDj1fP3XSmHqMfyNO3/Z6r/6riJRf+UQVsi0bC8JNgzd/VCDbbNjdHl1eOqO0NqtMO\n9D2GouGwV4ZL1XMEwkg22ujnDY1O3mmpU9+NPq+m5Dh17fRABo8x+qHwaPqWlNBbwdwWW4ZHNHpn\nU5zLO5/+C+4b5a59WsMvPFppom6Cjs01ylPOLAot7xQerQyzpmRs5J6+XScOhxAqmLfzXX9P3enp\nZxYqg2PPawfl6QNU74ysnU4ObwYkjD1XPXfzvdaUQ1Kqr9EG1WHajX7tfpWZU3q897UpV3pHVz6e\nfk7knr6emX1oY2RB4MZK5QiA5ekTPoNHG/38odGlbHpGgo7vrAczeIzRD4XO00/JUM97S9dv7qLR\nj3dPf8O/lHe36/3w22qjn3eUkmIi9fSDBbOrd3mlHU3JccowtYUZ8tvRnn62C6MPSuKp26/Sap1t\nTk6HVOvayyhQnbeemJVjk3eg67q+NjbHnm0dz6WnnzfEt6ME/0Buc40KSNuZcLH3vvIL5EYom3g+\nu4xsYRNdggG8jl1Enr6LGICThiDXRw9m8BijH4zOTvWjpuXEgadvyz6JRkeMZ02/o00F9QB2ucgP\nt0sKhSPca/oeeSeYp7/TG8TVlIxVi3pUbg1/Do3+jjOL3G0/8jT1f8c7vq8313q9fPCWVw7m6Xc1\nV//QRtXJlIyDnMHujle7F/JK/V9PTvOV6/TMYjsZ+XDc+epxjl3eyfV3bMpXqayoYNivgfIV4dut\naaj0ynC6BIQrT1+ojBvZ6X4SmsYePLajM3iMp9+LaAOfZmn6EJnHF0t8PP0IjX5Hu1cjbYzDlM09\nK5RRSE6H3R+E3752r/qfO0QZ6br94Udgnho2lqbv9M6aqtU2gTx9iMz7ajisZuHquvLhKBqlOrCd\njmCu0zvW8o6nVo1l9HUef5c9/c+g5FiVKVR4tEtPf69/EBf8NX39/TuZ+U04ajoUj/G+5pR3qnap\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x292acd85ba8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "acc = history.history['acc']\n",
    "val_acc = history.history['val_acc']\n",
    "loss = history.history['loss']\n",
    "val_loss = history.history['val_loss']\n",
    "\n",
    "epochs = range(len(acc))\n",
    "\n",
    "plt.plot(epochs, acc, label='Training acc')\n",
    "plt.plot(epochs, val_acc, label='Validation acc')\n",
    "plt.title('Training and validation accuracy')\n",
    "plt.legend()\n",
    "\n",
    "plt.figure()\n",
    "\n",
    "plt.plot(epochs, loss, label='Training loss')\n",
    "plt.plot(epochs, val_loss, label='Validation loss')\n",
    "plt.title('Training and validation loss')\n",
    "plt.legend()\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "這些曲線看起來有很多的雜訊。為了使它們更易於閱讀，我們可以通過以這些數量的指數移動平均值代替每個損失和準確性來平滑它們。這是一個簡單的工具函數："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\ntsLFz+JeAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x292a2521080>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\ncujQIQC+/vpr2rdvzwUXXMBnn3123D1lZmby2GOPMWXKFKKjo5kyZQp///vfueWWWxg0aBDXXXcd\n8fHx9O7dm27dutGtWzcWLFgA5H9inzBhAldccUWhZYuIiGDv3r3Ex8fToUMHbr75Zjp16sSgQYNI\nT08HYNGiRXTp0oVevXod/VsUJyMjgxtuuIGoqCjOPvts5s6dC8Dq1avp0aMH0dHRdOnShY0bN3L4\n8GEuueQSunbtSufOnY/+fSuDjTIypgL848vVrEk8UK55dmxSi79d1qnI84MGDeLxxx+nbdu2DBw4\nkKuvvpq+ffsePd+8eXMWLlzIvffey7hx4/jpp5/IyMigU6dO3HbbbXz22WcsW7aM5cuXs3fvXrp3\n706fPn1YsGBBocefeeYZnn/+eaZPnw64L91ly5axdOlSQkJCaNeuHXfddRdVq1blySef5Ntvv6V6\n9eo8++yzvPDCCzzwwAPcfPPNzJkzh9atW3P11Vcfd09VqlTh8ccfJzY2lldeeQWAv//97yxevJj5\n8+dTtWpV0tLSmD17NqGhoWzcuJHRo0dT2BI3hZWtYA1q48aNTJ48mTfffJOrrrqKTz/9lLFjx3LD\nDTcwfvx4zjvvPB566LhdhI/z6quvArBy5UrWrVvHoEGD2LBhA6+//jp33303Y8aMITMzk5ycHGbO\nnEmTJk2YMcMtvZ+amlpi/hXFagjGnCFq1KjB4sWLGT9+POHh4Vx99dVMmDDh6Plhw4YBEBUVRc+e\nPalZsybh4eGEhoaSkpLC/PnzGT16NIGBgTRs2JC+ffuyaNGiIo8X5sILL6R27dqEhobSsWNHtm7d\nys8//8yaNWs4//zziY6OZuLEiWzdupV169YRGRlJmzZtEBHGjh3r970OGzaMqlWrAm7+x80330xU\nVBQjR45kzZo1hV5TWNkKioyMJDrarb95zjnnEB8fT0pKCgcPHuS8884D4JprSp6fNH/+fK699loA\n2rdvT4sWLdiwYQO9evXin//8J88++yxbt26latWqREVF8e233/Lggw/y448/Urt2bb//DuXNagjG\nVIDinuQrUmBgIP369aNfv35ERUUxceJExo0bB3C0KSkgIODo67z32dnZFLXQZWkWwPTNNzAw8Gi+\nF110EZMnT86XdtmyZWUeFVO9+rEVBF588UUaNmzI8uXLyc3NJTQ01O+ylZQmPT29VPefp6hrrrnm\nGnr27MmMGTMYPHgwb731FgMGDGDx4sXMnDmThx9+mEGDBvHYY4+V+jPLg9UQjDlDrF+/no0bNx59\nv2zZMlq0aOH39X369GHKlCnk5OSQlJTEDz/8QI8ePYo8XrNmTQ4ePFhivueeey4//fQTcXFxAKSl\npbFhwwbat2/Pli1b2LTJ7apbMGDkKelzUlNTady4MQEBAbz//vvk5OT4fc/+qFu3LjVr1uTnn93+\nXh999FGJ1/Tp04cPP/wQgA0bNrBt2zbatWvH5s2badmyJX/84x8ZNmwYK1asIDExkWrVqjF27Fj+\n/Oc/s2TJknItf2lYDcGYM8ShQ4e46667SElJISgoiNatWzN+/Hi/r//d737HwoUL6dq1KyLCc889\nR6NGjYo8HhYWRlBQEF27dmXcuHHUrVu30HzDw8OZMGECo0eP5siRIwA8+eSTtG3blvHjx3PJJZdQ\nv359LrjgAlatOn6frP79+/PMM88QHR3Nww8/fNz5P/zhD1x55ZV8/PHH9O/fP1/toby8/fbb3Hzz\nzVSvXp1+/fqV2Kzzhz/8gdtuu42oqCiCgoKYMGECISEhTJkyhQ8++IDg4GAaNWrEY489xqJFi7j/\n/vsJCAggODiY1157rdzL76/f9n4IxpSjtWvX0qFDh8ouhqkAhw4dokaNGgA888wz7Ny5k5deeqmS\nS1W4wv4d+rsfgtUQjDGmBDNmzODpp58mOzubFi1a5OusP5P41YcgIkNEZL2IxInIcWOuRKSPiCwR\nkWwRGVHg3PUistH7ud7n+DkistLL82WxOf/GmFPU1VdfzbJly1i1ahUzZswgPDy8sotUIUoMCCIS\nCLwKXAx0BEaLSMcCybYB44BJBa6tB/wN6An0AP4mInkNja8BtwBtvJ8hZb4LY4wxJ8yfGkIPIE5V\nN6tqJvARMNw3garGq+oKILfAtYOB2aq6T1X3A7OBISLSGKilqgvVdWK8B1x+ojdjjDGm7PwJCE2B\n7T7vE7xj/ijq2qbe6xLzFJFbRCRWRGKTkpL8/FhjjDGl5U9AKKxt39+hSUVd63eeqjpeVWNUNeZM\nbbczxphTgT8BIQHwXfCjGZDoZ/5FXZvgvS5LnsaYIpyJy1+fSD7Tpk3jmWeeKTRd3jDSoqSkpPDf\n//736Ht/l9P2R79+/Qpdb6my+RMQFgFtRCRSRKoAo4BpfuY/CxgkInW9zuRBwCxV3QkcFJFzvdFF\n1wFflKH8xhjPmbr89YkYNmyYX4vRFaZgQPB3Oe3TWYkBQVWzgTtxX+5rgamqulpEHheRYQAi0l1E\nEoCRwBsistq7dh/wBC6oLAIe944B3A68BcQBm4CvyvXOjPmNOROXvwbo2bMnq1evPvq+X79+LF68\nmF9//ZXzzjuPs88+m/POO4/169cfd61vrWXLli306tWL7t278+ijjx5Nc+jQIS688EK6detGVFQU\nX3zxxdH727RpE9HR0dx///35ltMuannr4pbZLsrkyZOJioqic+fOPPjggwDk5OQwbty4o3/zvL/v\nyy+/TMeOHenSpQujRo0qMe9SU9XT5uecc85RY05Va9asOfZm5oOq7wwt35+ZDxb7+QcPHtSuXbtq\nmzZt9Pbbb9d58+YdPdeiRQv973//q6qq99xzj0ZFRemBAwd0z549Gh4erqqqn3zyiQ4cOFCzs7N1\n165d2rx5c01MTCzy+Ny5c/WSSy45+hnvvvuuRkZGakpKiqanp+tZZ52l27Zt06SkJO3du7ceOnRI\nVVWfeeYZ/cc//qHp6enarFkz3bBhg+bm5urIkSPz5ZfnhRde0Mcee0xVVRMTE7VNmzaqqpqamqpZ\nWVmqqjp79my94oorVFXzlevdd9/VO+64Q1VVL7vsMp04caKqqr7yyitavXp1VVXNysrS1NRUVVVN\nSkrSVq1aaW5urm7ZskU7dep0tBy+759//nkdN26cqqquXbtWmzdvrunp6UX+DQrq27evLlq0SHfs\n2KHNmzfXPXv2aFZWlvbv318///xzjY2N1YEDBx5Nv3//flVVbdy4sWZkZOQ7VlC+f4ceIFb9+I61\nxe2MOUOcqctfX3XVVXz88ccATJ06lZEjRwJuUbuRI0fSuXNn7r333ny1iML89NNPjB49GuDo0tTg\nHoofeeQRunTpwsCBA9mxYwe7d+8uNq+ilrcu6m9QlEWLFtGvXz/Cw8MJCgpizJgx/PDDD7Rs2ZLN\nmzdz11138fXXX1OrVi0AunTpwpgxY/jggw8ICir/hSZs6QpjKsLFhXdkVrQzcfnrpk2bEhYWxooV\nK5gyZQpvvPEGAI8++ij9+/fn888/Jz4+nn79+pWYV2Gf9+GHH5KUlMTixYsJDg4mIiKCjIyMYvMp\n7m/izzLbJeVTt25dli9fzqxZs3j11VeZOnUq77zzDjNmzOCHH35g2rRpPPHEE6xevbpcA4PVEIw5\n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\nA1hCMMYY4/k/ud+KNtb4IZcAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x292acd85550>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def smooth_curve(points, factor=0.8):\n",
    "  smoothed_points = []\n",
    "  for point in points:\n",
    "    if smoothed_points:\n",
    "      previous = smoothed_points[-1]\n",
    "      smoothed_points.append(previous * factor + point * (1 - factor))\n",
    "    else:\n",
    "      smoothed_points.append(point)\n",
    "  return smoothed_points\n",
    "\n",
    "plt.plot(epochs,\n",
    "         smooth_curve(acc), label='Smoothed training acc')\n",
    "plt.plot(epochs,\n",
    "         smooth_curve(val_acc), label='Smoothed validation acc')\n",
    "plt.title('Training and validation accuracy')\n",
    "plt.legend()\n",
    "\n",
    "plt.figure()\n",
    "\n",
    "plt.plot(epochs,\n",
    "         smooth_curve(loss), label='Smoothed training loss')\n",
    "plt.plot(epochs,\n",
    "         smooth_curve(val_loss), label='Smoothed validation loss')\n",
    "plt.title('Training and validation loss')\n",
    "plt.legend()\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "這些曲線看起來更清潔，更穩定。我們看到一個很好的1%的改善。\n",
    "\n",
    "請注意，損失曲線沒有顯示任何實際的改善（實際上它正在惡化）。你可能會想，如果損失不減少，準確性如何提高？答案很簡單：我們顯示的是一個平均值的點損失值，但實際上對於精度來說重要的是損失值的分佈，而不是它們的平均值，因為精度是由模型。即使這並不反映在平均損失中，該模型仍然有繼續改善的空間。\n",
    "\n",
    "我們現在可以在測試數據上最終評估這個模型："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Found 1000 images belonging to 2 classes.\n",
      "test acc: 0.975999994278\n"
     ]
    }
   ],
   "source": [
    "test_generator = test_datagen.flow_from_directory(\n",
    "        test_dir,\n",
    "        target_size=(150, 150),\n",
    "        batch_size=20,\n",
    "        class_mode='binary')\n",
    "\n",
    "test_loss, test_acc = model.evaluate_generator(test_generator, steps=50)\n",
    "print('test acc:', test_acc)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "這裡我們的測試精確度為97%。在這個數據集的原始Kaggle比賽中，這將取得非常高的排名。\n",
    "\n",
    "然而，使用現代深度學習技術，我們僅使用一部分的訓練數據（約10%）就可以達到此種結果。能夠訓練20,000個樣本資料，而不是2000個樣本資料，有非常巨大的差異!"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 總結\n",
    "\n",
    "* 卷積網絡(convnets)是目前電腦視覺運算法中最好的機器學習模型。即使在非常小的數據集上，也可以從頭開始訓練一個，具有不錯效果的模型。\n",
    "* 在一個小數據集上，過度擬合(overfitting)將成為主要問題。數據增加(data augmentation)是處理圖像數據時打擊過擬合的有效方式。\n",
    "* 通過特徵提取(feature extraction)，可以輕鬆地在新數據集上重用覆用現有的預先訓練卷積網絡(convnets)模型。這是解決小圖像數據集非常有價值的技術。\n",
    "* 作為特徵提取(feature extraction)的補充，可以使用微調(fine-tuning)，它可以調整現有模型去學習新問題的一些表示特徵。這會進一步推動預測性能。\n",
    "\n",
    "現在，您有一整套處理圖像分類問題的工具，特別是使用小數據集。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "參考: \n",
    "* [fchollet: deep-learning-with-python-notebooks (原文)](https://github.com/fchollet/deep-learning-with-python-notebooks/blob/master/5.3-using-a-pretrained-convnet.ipynb)\n",
    "* [Keras官網](http://keras.io/)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "MIT License\n",
    "\n",
    "Copyright (c) 2017 François Chollet\n",
    "\n",
    "Permission is hereby granted, free of charge, to any person obtaining a copy\n",
    "of this software and associated documentation files (the \"Software\"), to deal\n",
    "in the Software without restriction, including without limitation the rights\n",
    "to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n",
    "copies of the Software, and to permit persons to whom the Software is\n",
    "furnished to do so, subject to the following conditions:\n",
    "\n",
    "The above copyright notice and this permission notice shall be included in all\n",
    "copies or substantial portions of the Software.\n",
    "\n",
    "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n",
    "IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n",
    "FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n",
    "AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n",
    "LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n",
    "OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n",
    "SOFTWARE."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
